簡體   English   中英

從我的耳朵項目開始,如何使用Apache CXF 3.X和WSS4J 2.X,而不使用JBoss 6.3.0 EAP模塊中安裝的CXF和WSS4J(舊)?

[英]How can I use Apache CXF 3.X and WSS4J 2.X as of my ear project and not CXF and WSS4J (older) that is installed in the modules of JBoss 6.3.0 EAP?

在我們的Java應用程序中,我們必須使用apache CXF 3.0.0和WSS4j 2.1.1庫。 為了避免類加載器問題:從我的耳朵項目開始,如何使用Apache CXF 3.X和WSS4J 2.X,而不是JBoss 6.3.0 EAP模塊中安裝的CXF和WSS4J(舊)?

由於JBoss類加載是模塊化的,因此您可以創建jboss-deployment-structure.xml並在您的耳文件中排除與CXF和WSS4J相關的模塊。 請參閱此Wiki頁面以供參考。 您可以在modules文件夾下的module.xml文件中找到各個模塊的名稱。

例如,排除CXF服務器模塊:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
      <deployment>
        <exclusions>
          <module name="org.jboss.ws.cxf.jbossws-cxf-server"/>
        </exclusions>
      </deployment>
</jboss-deployment-structure>

顯然,您將需要確保pom.xml為CXF和WSS4J版本引入了所需的工件,並且未設置為提供的范圍。 另外,您可以創建自己的自定義JBoss模塊文件夾,並在多個應用程序共享它們的情況下在其中添加庫(有助於使EAR和WAR文件更小,並在容器中集中管理整個組織的依賴性)。 在這種情況下,您可以將其設置為提供的范圍。

請記住,打包您自己的庫可能會中斷支持,因為它們不是容器提供的實現位的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM