当前位置: 首页 > 知识库问答 >
问题:

OSGi(Karaf)maven依赖项解析

公良莫希
2023-03-14

我正在创建一个新的Karaf特性,它将包含几个包(jclouds)。我还有一个maven“superproject”(jclouds-all),它包含我需要的所有模块/包。

在定义特性时,是否可以只指定一个SuperProject的bundle,并自动解析所有具体的bundle,或者我需要在特性中列出所有的bundle?

<feature name="my-cloud" version="${project.osgi.version}" resolver="(obr)">
    <bundle start-level="${core.startlevel}" dependency="true">mvn:org.apache.jclouds/jclouds-all/1.6.2-incubating</bundle>
</feature>

共有1个答案

许昆
2023-03-14

捆绑包需要是单个工件。因此,必须在feature元素中列出所有maven模块或包。您无法让Karaf将maven超级项目解析为工件并下载它们。

 类似资料:
  • 在下面的示例中,OSGi解析和Maven依赖支持中所需的步骤似乎存在差异/重复。 我有一个jar,它依赖于外部第三方jar,在本例中时间为4J。 然后,我可以通过导入包并运行等方式在本地运行我的简单jar。 当导入OSGi时,我必须确保首先导入这个jar,通常使用PAX包装URL。 这对于一个jar依赖关系是可以的,但是当有多个依赖关系时又如何。我可以使用features.xml文件来收集这些JA

  • 我创建了一个依赖于SLF4J的捆绑包,因此使用Logback来实现OSGI。这一切都捆绑起来并安装正常,但是当我开始捆绑时,我得到以下异常: org.osgi.framework.BundleException: 無法解析 com.felix.test [20](R 20.0): missing requirements [com.felix.test [20](R 20.0)] osgi.wir

  • 我正在尝试使用Karaf,我想知道是否可以将其配置为从Apache Maven中央存储库中提取可传递依赖项。而不必使用“嵌入式捆绑包” 我已经知道你可以提取显式的依赖关系,这个问题的关键部分是“可传递的”依赖关系。 目前,我的工作是找出依赖项是什么,并将它们显式地添加到 嵌入式包不能与Karaf OSGi blueprint实现一起工作(它只是等待一些不存在的东西)。我也觉得不得不那样做很难看。对

  • 我希望有人面对同样的问题来解决依赖。下面提到的文件 xsi:schemalocation=“http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”xmlns=“http://maven.apache.org/pom/4.0.0”xmlns:xsi=“http://www.w3.org/2001/x

  • 我使用的是ServiceMix6.1.0(包含Karaf 3.0.5),我有一个Maven项目。我想使用创建一个Karaf存档(.kar)。 我理解使用Karaf存档的目标:检索每个依赖项,以便可以在脱机环境中部署.kar。嗯...我以为我已经明白了...在创建.kar并部署它之后,我得到一个错误: 下面是: 下面是生成的: 为什么没有检索到JUnit依赖项? 所以...我错了吗?是一种预期的行为