Weblogic 类加载器似乎更喜欢系统库,而不是我 war 的 WEB-INF/lib/
中的库。
我尝试在 WEB-INF/weblogic.xml
中设置以下内容,但没有成功:
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
这只会给我很多 VerifyErrors:
exception is java.lang.VerifyError: (class: org/apache/xerces/parsers/AbstractSAXParser, method: parse signature: (Lorg/xml/sax/InputSource;)V) Incompatible object argument for function call
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:730)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
Truncated. see log file for complete stacktrace
(我试图避免将 WAR 打包到 EAR 中。)
最佳答案
除了指定 -Djavax.xml.parsers.SAXParserFactory=[xerces sax parser factory class name]
(对于其他 JAXP 工厂,如启动 Weblogic 时验证 SchemaFactory)。
所有过滤/prefer-web-inf
都不起作用,可能是因为 Weblogic 在启动时需要 JAXP 库,甚至在它读取任何 WAR/EAR 配置文件之前。
关于java - 如何让 Weblogic 10 更喜欢 myApp.war :/WEB-INF/lib/without throwing VerifyErrors? 中的 jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6278517/