我正在将一个应用程序从Glassfish 2.1迁移到Jboss eap 6.0.1。现在我正确地在Jboss中部署我的应用程序,但它不起作用。我做了调试,我看到了问题。当代码到达此行时:
OutputFormat format = OutputFormat(doc);
失败了。我制作了一张“OutputFormat(doc)”的新手表,其值显示为:未知类型“org.apache.xml.serialize.OutputFormat”<
这个类在xerces库中。该库作为模块安装在我的jboss中。我尝试了很多东西:
1.-排除jboss库,并在我的战争中包含了库。 不部署。
2.-将我的库(没有JBoss'库)包含为新模块,并在清单中添加以下行:Dependencies: myModuleName
。 部署,但不起作用。
3.-之前的“解决方案”,并排除jboss库。 不部署。
当代码到达以下行时,这就出现了,我尝试了相同的解决方案:
XPathAPI.selectSingleNode( xmlTempDoc,"//a" )
此时的错误是:未知类型“org.apache.xpath.XPathAPI”
这个包分别在xercesImpl-2.9.1和xalan-2.7.1库中。
请帮帮我吗?
谢谢, 问候。
答案 0 :(得分:1)
尝试通过在 / WEB-INF 下添加以下内容的 jboss-deployment-structure.xml 来排除JBoss EAP打包的默认xalan和xerces库:
<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>
然后将您的内容包含在某些路径中,例如 / lib 文件夹。