java - 如何让 Weblogic 10 更喜欢 myApp.war :/WEB-INF/lib/without throwing VerifyErrors? 中的 jar

标签 java weblogic classloader web-inf

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/

相关文章:

java - 可以拥有监视器或锁是否正确?

java - 从方法中获取值

java - OpenSAML 仅在 weblogic 上抛出 java.lang.NoClassDefFoundError

java - 将文件夹添加到 RCP 产品中的类路径

java - 清除java中通过class.forName加载的类

java - 使用Gson在Android中@SerializedName注解的基本目的是什么

java - 我的约会让我疯狂 (Java)

java - 如何在服务器端存储邮件密码?

java - 如何在类路径的开头添加jar?

java - 使用 jar 作为资源存档的简单方法