Weblogic部署问题集锦

1. weblogic自带了很多jar包   当工程中的jar和weblogic自带jar版本不一致时 往往会出现错误。

解决方案:

方案一:通过weblogic的配置,优先加载应用的jar包

(1)为了解决在weblogic中jar包冲突的问题  你可以在WEB-INF下创建一个weblogic.xml。

 

Java代码   收藏代码
  1. <?xml version="1.0"?>  
  2. <weblogic-web-app  
  3.  xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"  
  4.  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.  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">  
  6. <container-descriptor>  
  7. <!-- 优先加载web工程中的jar包,默认为false-->  
  8. <prefer-web-inf-classes>true</prefer-web-inf-classes>  
  9. </container-descriptor>  
  10. </weblogic-web-app>  

 

(2)重启weblogic。

 

 

方案:通过修改启动脚本来优先加载某些jar包

(1)将冲突的JAR包拷贝到${DOMAIN_HOME}/lib目录下。

(2)${DOMAIN_HOME}/bin下找到startWeblogic.sh文件用文本编辑器将其打开,并在里面加入如下内容:

 

Java代码   收藏代码
  1. export first_classpath=${DOMAIN_HOME}/lib/xxxx.jar  
  2. SAVE_CLASSPATH="${first_classpath}:${CLASSPATH}"  
 

 

 

方案:替换weblogic.jar里面对应的目录

(1)删除C:\bea\weblogic10\server\lib\weblogic.jar中的冲突的文件夹。

(2)copy 冲突的XXX.jar到C:\bea\weblogic10\server\lib。

(3)重启weblogic。

 

 

 

 

2.weblogic解析web.xml时不支持通配符

 

Java代码   收藏代码
  1. <context-param>  
  2.   <param-name>contextConfigLocation</param-name>  
  3.      <param-value>  
  4.           classpath*:/applicationContext*.xml  
  5.         </param-value>  
  6. </context-param>  

 

修改为:

 

Java代码   收藏代码
  1. <context-param>  
  2.   <param-name>contextConfigLocation</param-name>  
  3.      <param-value>    
  4.              classpath*:applicationContext.xml,applicationContext_service.xml,applicationContext-action.xml  
  5.      </param-value>  
  6. </context-param>  
  

 

3.spring配置JNDI数据源

 

如果开发是在Tomcat中进行的,部署是在weblogic上,都配置了JNDI数据源,两个J2EE容器对JNDI的名称要求不一样,怎么统一起来呢?可以通过在spring文件中将数据源修改以下:

 

 

Java代码   收藏代码
  1. <jee:jndi-lookup id="dataSource" jndi-name="jdbc/user" />,  

你可能感兴趣的:(Weblogic部署问题集锦)