WebLogic优先加载Web应用程序中的jar包

在WebLogic 10.3.5.0版本中遇到Spring版本冲突问题,由于内置Spring 2.5,但应用使用了Spring 3.0。当尝试获取Bean时,发现低版本不支持特定方法。解决方法是在Web工程的WEB-INF目录下创建weblogic.xml配置文件,设置优先加载应用的jar包,从而避免版本冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 版本:WebLogic 10.3.5.0

 

以Spring为例,在此版本的WebLogic中自带了Spring2.5版本,如下图

 

而我在程序中使用了Spring 3.0的包,当使用以下代码时

			ServletContext servletContext = this.getServletContext();;
			//获取Spring上下文
			WebApplicationContext wac = 
				WebApplicationContextUtils.getWebApplicationContext(servletContext);
			wac.getBean(XXXX.class);
报错
java.lang.NoSuchMethodError: org/springframework/web/context/WebApplicationContext.getBean(Ljava/lang/Class;)

于是我们知道是版本问题,在低版本的BeanFactory中似乎还没有getBean(java.lang.Class clazz)这个方法。

 

解决方法如下:

在Web工程的WEB-INF目录下加入weblogic.xml文件,文件内容

<?xml version = '1.0' encoding = 'UTF-8'?>
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"
	xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
	<context-root>test</context-root>
	<container-descriptor>
		<!-- 优先加载web工程中的包 -->
		<prefer-web-inf-classes>true</prefer-web-inf-classes>
	</container-descriptor>
</weblogic-web-app>


OK,问题解决!仅以Spring为例,其它类似情况可以参照。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值