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