2012-06-07 50 views
0

我想弄清楚我必須在我的pom.xml中包含哪些工件來讓別人的JAX-WS瘦客戶端編譯並運行其junit測試。就目前的立場,它僅使用Axis2的-JAXWS神器編譯文件:Axis2需要哪些mvn工件?

<dependency> 
    <groupId>org.apache.axis2</groupId> 
    <artifactId>axis2-jaxws</artifactId> 
    <version>1.6.0</version> 
    <scope>provided</scope> 
    </dependency> 

然而,當我嘗試運行我的測試中,我得到一個ClassNotFoundException:

Caused by: java.lang.ClassNotFoundException: org.apache.ws.policy.Assertion 
at java.lang.J9VMInternals.verifyImpl(Native Method) 
at java.lang.J9VMInternals.verify(J9VMInternals.java:72) 
at java.lang.J9VMInternals.initialize(J9VMInternals.java:134) 
at org.apache.axis2.description.AxisDescription.<init>(AxisDescription.java:25) 
at org.apache.axis2.engine.AxisConfiguration.<init>(AxisConfiguration.java:85) 
at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:767) 
at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:113) 
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:38) 
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:90) 
at org.apache.axis2.jaxws.ClientConfigurationFactory.getClientConfigurationContext(ClientConfigurationFactory.java:116) 
at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescription(DescriptionFactoryImpl.java:92) 
at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescription(DescriptionFactoryImpl.java:79) 
at org.apache.axis2.jaxws.description.DescriptionFactory.createServiceDescription(DescriptionFactory.java:78) 
at org.apache.axis2.jaxws.spi.ServiceDelegate.<init>(ServiceDelegate.java:219) 
at org.apache.axis2.jaxws.spi.Provider.createServiceDelegate(Provider.java:83) 
at org.apache.axis2.jaxws.spi.Provider.createServiceDelegate(Provider.java:79) 
at javax.xml.ws.Service.<init>(Service.java:57) 
at javax.xml.ws.Service.create(Service.java:687) 

我試着開關「測試」甚至「編譯」的範圍卻沒有什麼區別。顯然,Assertion類不是jaxws依賴樹的一部分。一些在jarvana.com上搜索指向我ws-commons/policy artifact,但這是古老的。

我似乎無法找到與最新的jax-ws工件配合使用的最新工件。我試過包括rampart-project artifact,但無濟於事。

任何人都可以幫助指向正確的方向嗎?

感謝,

埃裏克

+0

短搜索搜索| ga | 1 | fc%3A%22org.apache.ws.policy.Assertion%22)產生了相同的結果。但爲什麼不使用ws-commons呢?或nethi被用作axis2-jaxws中的依賴項? – khmarbaise

+0

好吧,neethi已經被maven包含爲一個依賴項,所以它顯然不包含正確的包。 ws-commons神器非常古老,我相信必須有更新的東西才能使用。否則,我發現自己包含了斷言異常的ws-commons,然後需要爲下一個ClassNotFound異常包含一些其他工件,並且它不會停止。我腦海裏真的沒有意義;我認爲必須有一個需要某個地方需要的工件清單,而不是我進行反覆試驗。 –

+0

你能否在你的問題中包含完整的堆棧跟蹤? –

回答

0

嘗試mvn dependency:analize-only它會告訴你哪些文物是你的編碼參考,但是,Maven的中央(http://search.maven.org/#未聲明

+0

我相信只會給我使用但不直接聲明的依賴關係(即:通過其他依賴關係聲明),但實際上不會告訴我哪些類/工件完全缺失。我對此有誤嗎? –