我正在开发一个关于opendaylight Carbon的应用程序(基于Karaf)。我需要在我的包中使用一个库(特别是dnsjava)。我该怎么做呢?
我尝试了以下无效的方法:
在我的features / pom.xml中,我为我的jar文件包含了一个mvn依赖项。
在我的features / src / main / features / features.xml中,我添加了一个包:
<bundle>wrap:mvn:dnsjava/dnsjava/${dnsjava.version}</bundle>
但是,当我开始使用我的功能时仍然出现错误:
Error executing command: Error executing command on bundles:
Unable to execute command on bundle 278: The bundle "gov.nist.sdnmud.impl_0.1.0.SNAPSHOT [278]" could not be resolved. Reason: Missing Constraint: Import-Package: org.xbill.DNS; version="[2.1.0,3.0.0)"
感谢您的帮助。
答案 0 :(得分:0)
我不是专家,但如果工件在jar中没有OSGi属性,这可能是你添加了“wrap”前缀的原因,那么你必须手动设置所需的OSGi属性。 features.xml依赖行,采用奇怪的微格式语法。
在我们的环境中,我们必须做这样的事情:
wrap:mvn:<group>/<artifact>/<version>$Bundle-SymbolicName=<bundlename>&Bundle-Version=<version>
此问题与opendaylight没有任何关系。