2012-10-28 49 views
0

我仍然在努力了很多帶包裝出庫,我需要在我的項目爲OSGi包。 我已經對此here問。答案有足夠的可以肯定,但再次,我有另一個問題,我不明白,不能分解它:(java.lang.ClassFormatError異常與庫打包爲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此包,有我有,因爲所有的從編譯範圍。該軟件包是工作...

我會比較清單文件爲這兩種情況下,有可能還存在一些缺失的依存關係。

+0

我認爲超級jar方法是最後的手段,我認爲從一開始就是一個錯誤 – Robin

+0

所以更好的方法是從庫中創建真正的OSGi包?也意味着,OSGify也是它的所有依賴關係,這不是OSGi的準備,對嗎? – stibi

回答

0

好了,不知怎麼解決。我應該在此之前,去爲幫助:) 所以,在POM文件,我已經改變了依賴的範圍的JavaEE的API,以「提供」更深入谷歌的問題。 (hint

然後有一些抱怨「未解決的依賴性」,而那些得到了標有「;分辨率:=」可選」:到目前爲止,它的工作原理P

但我想這是很遠從「乾淨漂亮」的解決方案中獲得更好的結果