Weblogic 10.3.6 解决Jar包冲突,hibernate等。

Weblogic的jar包冲突困扰了我一段时间,一般使用的是如下方式解决:

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

但这种方式仍然会碰到兼容性问题。后台发现以下办法很奏效,有需要的可以试试:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app
        xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
	<jsp-descriptor>
		<!-- 每隔一段时间检查一次jsp,如果发现变更则自动加载。 -->
		<page-check-seconds>30</page-check-seconds>
    </jsp-descriptor>

    <container-descriptor>
		<!-- 每隔一段时间检查一次servlet,如果发现变更则自动加载。 -->
		<servlet-reload-check-secs>30</servlet-reload-check-secs>

		<!-- 每隔一段时间检查一次资源文件,如果发现变更则自动加载。 -->
		<resource-reload-check-secs>30</resource-reload-check-secs>

        <!-- 优先加载部分类,用于解决jar包冲突。 -->
        <prefer-application-packages>
			<!-- <package-name>javax.servlet.*</package-name> -->
            <package-name>org.apache.commons.lang.*</package-name>
			<package-name>org.apache.xmlbeans.*</package-name>
            <package-name>antlr.*</package-name>
			<package-name>javax.persistence.*</package-name>
            <package-name>org.hibernate.*</package-name>			
        </prefer-application-packages>
    </container-descriptor>
</weblogic-web-app>

相关推荐