java-Oracle 10g Webapp中的JAXB 2

我有一个使用JAXB 2的Web应用程序.当将其部署在Oracle 10g Application Server上时,一旦尝试封送XML文件,就会出现错误.事实证明,Oracle在一个罐子中包含了JAXB 1,该罐子被重命名为“ xml.jar”.

如何强制我的Web应用程序使用我在WEB-INF / lib中部署的jaxb jar版本,而不是Oracle强制将其放入类路径中的版本,理想情况下是通过配置,而不必弄乱代码中的类加载器?

最佳答案

我假设您使用以前的BEA Weblogic Server?

您可以将weblogic.xml文件添加到您的WEB-INF中,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
    <container-descriptor>
   <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor>
</weblogic-web-app>

(回复评论,我还没有足够的声誉:-))

的确,DLL地狱是因为它“全有或全无”.似乎还有另一种更有条件的方式,描述为here.虽然我自己还没有尝试过…

发布了566 篇原创文章 · 获赞 0 · 访问量 2892

猜你喜欢

转载自blog.csdn.net/weixin_44109689/article/details/103954263