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

版本:WebLogic 10.3.5.0

 

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

 

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

[java]  view plain copy
  1. ServletContext servletContext = this.getServletContext();;  
  2. //获取Spring上下文  
  3. WebApplicationContext wac =   
  4.     WebApplicationContextUtils.getWebApplicationContext(servletContext);  
  5. wac.getBean(XXXX.class);  
报错
[java]  view plain copy
  1. java.lang.NoSuchMethodError: org/springframework/web/context/WebApplicationContext.getBean(Ljava/lang/Class;)  

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

 

解决方法如下:

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

[html]  view plain copy
  1. xml version = '1.0' encoding = 'UTF-8'?>  
  2. <weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     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"  
  4.     xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">  
  5.     <context-root>testcontext-root>  
  6.     <container-descriptor>  
  7.           
  8.         <prefer-web-inf-classes>trueprefer-web-inf-classes>  
  9.     container-descriptor>  
  10. weblogic-web-app>  


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

转自:http://blog.csdn.net/ygj26/article/details/7227253

你可能感兴趣的:(Weblogic)