1. weblogic自帶了很多jar包 當工程中的jar和weblogic自帶jar版本不一致時 往往會出現錯誤。
解決方案:
方案一:通過weblogic的配置,優先加載應用的jar包
(1)爲了解決在weblogic中jar包衝突的問題 你可以在WEB-INF下創建一個weblogic.xml。
- <?xml version="1.0"?>
- <weblogic-web-app
- xmlns="http://www.bea.com/ns/weblogic/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">
- <container-descriptor>
- <!-- 優先加載web工程中的jar包,默認爲false-->
- <prefer-web-inf-classes>true</prefer-web-inf-classes>
- </container-descriptor>
- </weblogic-web-app>
(2)重啓weblogic。
方案二:通過修改啓動腳本來優先加載某些jar包
(1)將衝突的JAR包拷貝到${DOMAIN_HOME}/lib目錄下。
(2)${DOMAIN_HOME}/bin下找到startWeblogic.sh文件用文本編輯器將其打開,並在裏面加入如下內容:
- export first_classpath=${DOMAIN_HOME}/lib/xxxx.jar
- 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時不支持通配符
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- classpath*:/applicationContext*.xml
- </param-value>
- </context-param>
修改爲:
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- classpath*:applicationContext.xml,applicationContext_service.xml,applicationContext-action.xml
- </param-value>
- </context-param>
3.spring配置JNDI數據源
如果開發是在Tomcat中進行的,部署是在weblogic上,都配置了JNDI數據源,兩個J2EE容器對JNDI的名稱要求不一樣,怎麼統一起來呢?可以通過在spring文件中將數據源修改以下:
- <jee:jndi-lookup id="dataSource" jndi-name="jdbc/user" />,