java - OSGI捆绑异常,maven依赖问题

标签 java maven osgi apache-felix

我对 OSGI、Felix 和 Maven 还很陌生,刚刚开始使用。 我正在通过 jenkins 部署 java 构建,并且遇到以下依赖关系问题。

下面是包含依赖项的pom文件内容,我不确定它是否正确,但它仍然提示它。

它正在寻找“javax.jws”,版本在2.0和3.0之间

javax.jws;version>="2.0.0",!javax.jws;version>="3.0.0"

下面是pom内容。

                            <Import-Package>!sun.misc,!org.apache.avalon.framework.logger,
    !org.ietf.jgss,!org.apache.log,!org.apache.log.format,!org.apache.log.output.io,!com.werken.xpath,!org.apache.tools.ant,!org.apache.tools.ant.taskdefs,
    !org.jdom,!org.jdom.input,!org.jdom.output,com.mblox.ngp.sal*;
    version="${sal-utils-version}",org.apache.commons.logging;version="1.1",
    javax.jws;version>="2.0.0",!javax.jws;version>="3.0.0",
    com.sun.xml.ws.api.message,*
</Import-Package>

以下是我得到的异常:

[#|2013-01-29 11:07:44,109|ERROR|NGP-SAL-SALBootstrap-SAL-0|com.mblox.ngp.sal.platform.impl.Sal|172.18.36.38|slodev-rhatf4.mblox.com|sal-1|Unresolved constraint in bundle sap-ws-netcom [24]: Un
able to resolve 24.0: missing requirement [24.0] package; (&(package=javax.jws)(version>=2.0.0)(version>=2.0.0)(!(version>=3.0.0))) - [24.0] package; (&(package=javax.jws)(version>=2.0.0)(versi
on>=2.0.0)(!(version>=3.0.0)))|#]
org.osgi.framework.BundleException: Unresolved constraint in bundle sap-ws-netcom [24]: Unable to resolve 24.0: missing requirement [24.0] package; (&(package=javax.jws)(version>=2.0.0)(version
>=2.0.0)(!(version>=3.0.0))) - [24.0] package; (&(package=javax.jws)(version>=2.0.0)(version>=2.0.0)(!(version>=3.0.0)))
        at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3421)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1754)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)
        at com.mblox.ngp.sal.platform.impl.Sal.installBundle(Sal.java:608)
        at com.mblox.ngp.sal.platform.impl.Sal.getBundle(Sal.java:481)
        at com.mblox.ngp.sal.platform.impl.Sal.installSap(Sal.java:630)
        at com.mblox.ngp.sal.platform.impl.Sal.initSapBundles(Sal.java:545)
        at com.mblox.ngp.sal.platform.impl.Sal.start(Sal.java:290)
        at com.mblox.ngp.sal.platform.impl.SALBootstrap.call(SALBootstrap.java:64)
        at com.mblox.ngp.sal.platform.impl.SALBootstrap.call(SALBootstrap.java:24)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

解决此问题的任何建议或指示。

最佳答案

是否有任何导出 javax.jws 包的包?如果没有,您可以将此 Maven 依赖项添加到您的构建中,并确保将其部署到 Felix:

<dependency>
    <groupId>org.apache.geronimo.specs</groupId>
    <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
    <version>1.1.2</version>
</dependency>

关于java - OSGI捆绑异常,maven依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14581738/

相关文章:

java - Java 中的 Mysql 日期格式

java - 使用 play2 自动重新加载

java - bundle 的激活器无效

java - Spring : PropertyPlaceholderConfigurer cannot find property file

java - 运行时 OSGi 依赖项中的 POJO 忽略导入的 Jackson 注释

Java:是否可以从 Java 中禁用 Windows DPI 缩放?

List<Object> 上的 Java 流获取任何匹配 filter() 的对象的属性

java - 单击按钮时选择方法

maven - 如何从非build-gradle文件访问Kotlin DSL扩展?

java - 如何设置编译器编码?