0

我仍然在为将项目中需要的库打包为 OSGi 包而苦苦挣扎。我已经在这里问过了。那里的答案肯定足够好,但是我又遇到了另一个我不理解且无法分解的问题:(

我将库最终打包为 OSGi 包,我已经确定了所有需要的依赖项,所有这些现在都在一个完整的 jar 存档中。

现在,如果我尝试使用该库的某些函数,则会引发异常,因为:

Caused by: java.lang.ClassFormatError: javax/ws/rs/core/UriBuilder
    at com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClient.<init>(JerseyJiraRestClient.java:61)
    at com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClientFactory.create(JerseyJiraRestClientFactory.java:34)
    at com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClientFactory.createWithBasicHttpAuthentication(JerseyJiraRestClientFactory.java:39)
    at com.tieto.etb.esb.libs.jiraclient.JiraClient.getClient(JiraClient.java:28)[145:jiraclient.bundle:0.1.0.SNAPSHOT]
    at com.tieto.etb.esb.jira.JiraBean.projectInfo(JiraBean.java:38)[142:jira.bundle:0.1.0.SNAPSHOT]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_35]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_35]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_35]
    at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_35]
    at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:341)[70:org.apache.camel.camel-core:2.10.1]
    at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:238)[70:org.apache.camel.camel-core:2.10.1]
    at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:166)[70:org.apache.camel.camel-core:2.10.1]
    ... 52 more

我想请你提示一下,那里可能有什么问题。我想在构建捆绑包时出了点问题。

例如,我有另一个用于这个包的 pom,我在编译范围内都有。该捆绑包正在运行...

我将比较这两种情况的清单文件,可能仍然缺少一些依赖项。

4

1 回答 1

0

好的,以某种方式解决了。在在这里寻求帮助之前,我应该更深入地搜索问题:) 所以,在 pom 文件中,我已经将 javaee-api 的依赖范围更改为“提供”。(提示

然后有一些关于“未解决的依赖”的抱怨,但那些被标记为“;resolution:="optional" :P

到目前为止它有效。但我想这与“干净和漂亮”的解决方案相去甚远。

于 2012-10-28T21:29:41.490 回答