2012-10-24 20 views
1

我有一個axis2服務作爲aar文件進行部署,其中包含特定於服務的庫文件。我遇到了httpclient-4.2.jar和httpcore-4.2.jar的問題,並且錯誤消息對我來說似乎並不是服務器的jar被加載,而是axis2的jar包(它包含httpcore-4.0.jar)。axis2忽略的服務的特定庫文件

從AAR-文件的結構等,其應該是正確的情況如下:

aar 
|- lib 
|--|- httpclient-4.2.jar 
|--|- httpcore-4.2.jar 
|--|- LICENSES 
|- my 
|--|- services 
|--|--|- *.class 
|- META-INF 
|--| - services.xml 

回答

1

罐子在.aar不是100%相同的上下文等WEB-INF/lib中也不能100%分離。
這就是我們爲什麼不將庫和邏輯打包到.aar文件中的原因。
我們只把service.xml放在aar文件中。類位於WEB-INF/lib JAR中。
通過這樣做,您可以獲得常規的webapp上下文,並且您的服務還能夠返回WEB-INF/lib上下文中的所有對象類型/類。

塞巴斯蒂安

+0

感謝您的回答。但在我的情況下,問題是JAR已經存在於WEB-INF/lib中,但是在我的服務所需的舊版本中。所以我不能把JAR放在WEB-INF/lib中,因爲axis2本身不再工作。該怎麼辦? – Werzi2001

+0

我認爲你唯一的機會是更新到最新的Axis2。目前我們正在使用運行良好的httpclient-4.2.jar使用Axis2 1.7.0快照。我想如果你只是升級到Axis2的1.7-SNAPSHOT,你可以解決你的JAR依賴問題。我認爲Axis2 1.7還包含許多我們依賴的錯誤修復。 –

+0

好吧,我會嘗試新的Axis2版本。我希望我們永遠不會有沒有更新的Axis2與我們的服務需求相同的JARs存在;-) – Werzi2001