0

我的 java web 应用程序在 Apache Tomcat 上运行。它的工作需要一些第三方库(尤其是 jasperreports 3.7.2)。但是现在有必要在 WebLogic 上移动应用程序。而且它似乎不是使用它之前使用的库(在 Tomcat 上),而是该库的其他版本(我怀疑默认情况下 WebLogic 附带的库)。如何指定库的具体版本并让 WebLogic 使用它?我以前从未使用过weblogic。也许我应该在部署描述符或类似的东西中输入一些东西?感谢您的回复。

4

1 回答 1

1

如果你在你的战争中的 WEB-INF/lib 中有你想要的 JAR,你可以告诉 Weblogic 使用那个 jar 而不是 Classloader 中可能存在的任何其他 jar。

  • 在 Web 应用程序部署描述符中使用prefer-web-inf-classes元素weblogic.xml(位于 WEB-INF 旁边web.xml

这是一个示例 weblogic.xml:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app
 xmlns="http://www.bea.com/ns/weblogic/90"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic- web-app.xsd">
    <container-descriptor>
        <prefer-web-inf-classes>true</prefer-web-inf-classes>
     </container-descriptor>
</weblogic-web-app>

注意:在这种用法中,所有 WEB_INF/lib 类都将优先于类路径中的其他版本。

于 2012-05-16T11:14:11.663 回答