问题描述
我尝试在 jboss 上部署 War,但出现异常:
Jboss 日志:
{"WFLYCTL0062: 复合操作失败并被回滚。失败的步骤:" => {"Operation step-2" => {"WFL YCTL0080: 失败的服务" => {"jboss.deployment.unit."acs-init.war".undertow-deployment" => "java.lang.RuntimeE xception: org.springframework.beans.factory.BeanDeFinitionStoreException: Parser configuration exception 从 Ser 解析 XML vletContext 资源 [/WEB-INF/classes/properties/acs-ws-context.xml];嵌套异常是 javax.xml.parsers.ParserConfigurat ionException:无法使用 XSD 进行验证:您的 JAXP 提供程序 [com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactor yImpl@293fa923] 不支持 XML 架构。您是否使用 Apache Crimson 在 Java 1.4 上运行?升级到 Apache Xerces(或 Ja va 1.5) 以获得完整的 XSD 支持。 引起:java.lang.RuntimeException: org.springframework.beans.factory.BeanDeFinitionStoreException: Parser configurati 关于从 ServletContext 资源 [/WEB-INF/classes/properties/acs-ws-context.xml] 解析 XML 的异常;嵌套异常是 j avax.xml.parsers.ParserConfigurationException:无法使用 XSD 进行验证:您的 JAXP 提供程序 [com.sun.org.apache.xerces.in ternal.jaxp.DocumentBuilderFactoryImpl@293fa923] 不支持 XML 架构。您是否使用 Apache Crimson 在 Java 1.4 上运行 ?升级到 Apache Xerces(或 Java 1.5)以获得完整的 XSD 支持。 引起:org.springframework.beans.factory.BeanDeFinitionStoreException: Parser configuration exception parsing XML from m ServletContext 资源 [/WEB-INF/classes/properties/acs-ws-context.xml];嵌套异常是 javax.xml.parsers.ParserConfi gurationException:无法使用 XSD 进行验证:您的 JAXP 提供程序 [com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderF actoryImpl@293fa923] 不支持 XML 模式。您是否使用 Apache Crimson 在 Java 1.4 上运行?升级到 Apache Xerces ( 或 Java 1.5) 以获得完整的 XSD 支持。 引起:javax.xml.parsers.ParserConfigurationException:无法使用 XSD 进行验证:您的 JAXP 提供程序 [com.sun.org. apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl@293fa923] 不支持 XML 架构。你在 Java 1.4 上运行吗? h 阿帕奇深红?升级到 Apache Xerces(或 Java 1.5)以获得完整的 XSD 支持。 引起:java.lang.IllegalArgumentException:org.apache.xerces.parsers.XML11Configuration 与 org.apache 不兼容。 xerces.xni.parser.XMLParserConfiguration"}}}}
来自 POM.xml :
...
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>${xercesImpl.xercesImpl.version}</version>
</dependency>
...
当我从 pom.xml 中删除 xerces 依赖项并从 lib 中删除 jar 时,war 已部署但它不起作用,我收到了来自 soap api 的响应:
<html>
<head>
<title>Error</title>
</head>
<body>Internal Server Error</body>
</html>
我尝试了许多解决方案,例如添加 /jboss-eap-7.3/bin/standalone.conf jvm 参数,但似乎没有任何效果。
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-xms4000m -Xmx4000m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=512m -Djava.net.preferIPv4Stack=true"
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYstem_PKGS -Djava.awt.headless=true -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl"
else
...
Ps:当我将 lib 中的 xercesImpl-2.6.2.jar 替换为 xercesImpl-2.6.2-jaxb-1.0.6.jar 时, 我在standalone.conf中添加了战争正在部署的这个参数,但在soap中我有一个错误
添加的参数:
-Djavax.xml.soap.soAPFactory=com.sun.xml.internal.messaging.saaj.soap.ver1_1.soAPFactory1_1Impl
-Djavax.xml.soap.soAPConnectionFactory=com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnectionFactory -Djavax.xml.soap.MetaFactory=com.sun.xml.internal.messaging.saaj.soap.saajMetaFactoryImpl
soapui 中的错误:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode xmlns:ns1="octo.com">ns1:8</faultcode>
<faultstring>Problems creating saaj object model</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
请问我该如何解决这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)