将Web应用程序从Tomcat移动到WebLogic时错误的库版本

时间:2012-05-16 10:21:12

标签: web weblogic java

我的java Web应用程序正在使用Apache Tomcat。它的工作需要一些第三方库(特别是jasperreports 3.7.2)。但现在有必要在WebLogic上移动应用程序。并且它似乎不使用之前使用的库(在Tomcat上),而是使用该库的其他一些版本(我怀疑默认情况下附带WebLogic的那个)。如何指定库的具体版本并使WebLogic使用它?我之前从未使用过weblogic。可能是我应该在部署描述符或类似的东西中键入内容?谢谢你的回复。

1 个答案:

答案 0 :(得分:1)

如果您在战争中拥有想要在WEB-INF / lib中使用的JAR,您可以告诉Weblogic将该jar用于可能存在于Classloader中的任何其他jar。

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

以下是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类都优先于类路径中的其他版本。