首先,先肯定本身項目的WEB-INFO下有weblogic.xml,沒有的話先加上。由於有很多問題是jar包衝突致使,由於沒有設置優先使用項目本身的jar包,weblogic會使用它本身的jar包。因此要經過weblogic.xml設置優先使用項目jar包。html
<?xml version='1.0' encoding='UTF-8'?> <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> </weblogic-web-app>
一、tomcat項目部署到weblogic服務下,有三種部署方式,參考連接文檔,推薦使用第三種。連接地址:http://www.bkjia.com/xtzh/1008367.htmljava
須要注意的是:web
1)ssmweb.war包解壓到ssmweb,由於weblogic不會解壓war包,它會直接使用war包,因此對自定義的配置文件,它的訪問方式就變成jar的形式,在訪問路徑中會出現相似 「_wl_cls_gen.jar!」的狀況,引起不容易處理的錯誤(網上能搜到相似錯誤,解決方式多種,可能很輕鬆就能對號入座,解決問題,也可能嘗試N種方法後仍不能解決)json
2)須要修改的weblogic配置文件,參考目錄:D:\Weblogic\user_projects\domains\tomcat
base_domain\config\config.xmloracle
a、<name>標籤填寫項目名稱app
b、<module-type>標籤填寫dir(默認是war)dom
c、<source-path>標籤填寫項目路徑工具
以下圖所示:調試
二、錯誤:The error is weblogic.descriptor.DescriptorException: Unmarshaller failed
web.xml配置有問題,TOMCAT對web.xml的驗證要求不嚴格,二weblogic相反,很嚴格,用XMLSPY等檢查你的web.xml文件,重要的是保持版本的統一
解決:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
三、錯誤:Unsupported major.minor version 51.0
1)、用jdk7編譯的class文件放到基於jdk6運行在tomcat或者weblogic之中,會報這個錯。
解決:項目------>右鍵------>屬性------>Java Compiler------>Compiler Compliance Level------>選擇你使用的JDK版本------>應用。
2)、有的時候是某個jar依賴的jdk的版本過高,好比我使用的cxf3.1.6的jdk版本是1.7的,要把他換成3.0.9的(jdk1.6)才行。
3)、fastjson版本0.1.0以上的,也會報這個錯
四、頁面亂碼問題
1)、頁面顯示亂碼,但使用開發者工具調試的時候,獲取的數據不是亂碼,可能就是json工具引發的,使用fastjson 0.1.0(jdk1.6),解決問題(以前使用的是jackson)
2)、其餘狀況的亂碼,請繼續網上搜索
若有其餘問題,歡迎提出討論