2014-01-18 140 views
1

我正在嘗試在JBoss7上創建一個基於Apache Jena的應用程序。jboss 7.1 xalan問題?

阿帕奇耶拿使用的Xalan 2.11.0 JBoss的7天內與2.7.1

當我試圖調用應用程序我得到一個異常,根本這就是:

org.apache.xerces .impl.dv.DVFactoryException:模式工廠類org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl沒有從SchemaDVFactory擴展

我懷疑這是因爲版本的不同。我閱讀了Module文檔(https://docs.jboss.org/author/display/MODULES/Introduction)並嘗試更改Xalan 2.11.0,但沒有運氣:Jboss在啓動時剛剛凍結。有沒有人成功做到這一點,或者,有誰知道如何重寫Xalan進行部署?

THX

+0

什麼Xalan 2.11.0有沒有這樣的事情見項目網站:http://xalan.apache.org/你也許想到Xerces? – ctomc

回答

0

問題在CBU(基於碳單元)我與xalan的玩的時候我一直在玩的Xerces。它是xerces 2.11(DOH)

0

最簡單的方法是,可以使用/WEB-INF/jboss-deployment-structure.xml部署應用程序,並明確排除想要覆蓋的JBoss提供的庫,然後將它們自己打包到應用程序中。 /WEB-INF/lib/xalan-2.11.0.jar

這裏的JBoss部署-structure.xml的例子:

<jboss-deployment-structure> 
    <deployment> 
     <dependencies> 
      <module name="org.apache.xalan" /> 
      <module name="SOME.OTHER.MODULE.YOU.DONT.WANT.JBOSS.TO.PROVIDE" /> 
     </dependencies> 
    </deployment> 
</jboss-deployment-structure> 

我沒有測試過這一點,雖然。嘗試它,如果它的工作和報告。如果這不起作用,我們會嘗試另一種方法。

4

的JBoss 7或JBoss的EAP 6個附帶了自己的Xalan版本,你可以將其模塊間發現,在JBoss中 EAP 6.1:

<JBoss Home>/modules/system/layers/base/org/apache/xalan/main

如果你想使用自己首先你必須

排除JBoss的xalan的與下面的JBoss部署描述符/WEB-INF/jboss-deployment-structure.xml戰爭和/META-INF/jboss-deployment-structure.xml耳:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"> 
    <deployment>    
     <exclusions>    
      <module name="org.apache.xalan" /> 
      <module name="org.apache.xerces" /> 
     </exclusions> 
    </deployment> 
</jboss-deployment-structure> 

我也被排除在外的Xerces,因爲通常他們被捆綁togh醚。