Weblogic 10.3.5覆盖Spring版本
我正在使用Oracle的OEPE发行版(包括Weblogic服务器10.3.5)开发Web应用程序。WLS包含自己的Spring版本,该版本似乎是2.5.6.SEC01。但是,我们正在尝试使用3.1发行版的Spring和Spring Security功能。
Maven POM将Spring Version定义为属性3.1.1.RELEASE(该属性已插入各节中,即:
<dependency> <groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
我在weblogic.xml中尝试了两种单独的方法来排除内置的Spring(一种在下面注释掉,但是请放心,我已经尝试过两种方法):
<wls:container-descriptor> <wls:prefer-application-packages>
<wls:package-name>com.oracle.ojdbc16.*</wls:package-name>
<wls:package-name>antlr.*</wls:package-name>
<wls:package-name>javax.persistence.*</wls:package-name>
<wls:package-name>org.apache.commons.*</wls:package-name>
<wls:package-name>org.springframework.*</wls:package-name>
<wls:package-name>org.hibernate.*</wls:package-name>
<wls:package-name>org.apache.xerces.*</wls:package-name>
</wls:prefer-application-packages>
<!-- <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes> -->
</wls:container-descriptor>
使用我自己的Spring版本,我该怎么做?
回答:
选项1:将Spring 3.x应用程序部署到未安装JRF的域中的wls服务器。这对我行得通。
选项2:在weblogic.xml中使用preferred-web-inf-classs并进行战争部署。这对我来说适用于wls 10.3.6,JRF域,Spring 3.2.2。我无法使Preferred-Application-Package起作用,但是Preferred-web-inf-classs起作用了。
注意:在没有安装JRF的域中,我尝试了war / weblogic.xml / prefer-application-packages和ear / weblogic-application.xml / prefer-application-packages方法,但都没有效果。我有一个测试jsp,它输出org.springframework.core.SpringVersion.getVersion(),尽管我付出了很多努力,它仍然报告2.5.6.SEC01(这是oracle_common / modules文件夹中捆绑的Spring版本)。
但是,在非JRF域中部署相同的应用程序,并且org.springframework.core.SpringVersion.getVersion()将报告与应用程序捆绑在一起的spring的任何版本。
以上是 Weblogic 10.3.5覆盖Spring版本 的全部内容, 来源链接: utcz.com/qa/417384.html