Suse 系統下 Weblogic12C 安裝整合部署 Hibernate + Spring ...

Suse 系統下 Weblogic12C 安裝整合部署html

關於Weblogic12的安裝以及部署,請參照WebLogic安裝手冊.pdfjava

因爲公司客戶須要,如今須要移植現成的銀行系統到weblogic上部署,發現原來在tomcat上好好的系統,一到了weblogic就徹底沒呼吸了,弄了幾天,問題解決web

接下來說解整合出現的問題spring

1.      關於項目部署出現Servlet response already usestream, Writer not possibleapi

更新Myfaces包到 1.2.12tomcat

步驟:刪除項目中的myfaces-shared-impl-3.0.5.jar,myfaces-impl-1.2.5.jar, myfaces-api-1.2.5.jaroracle

解壓myfaces-core-assembly-1.2.12-bin.zip,獲取lib目錄下全部jar包,替換項目中重複的jar包。app

Lib的jar包以下:jsp

commons-beanutils-1.8.3.jarspa

commons-codec-1.3.jar

commons-collections-3.2.jar

commons-digester-1.8.jar

commons-discovery-0.4.jar

commons-logging-1.1.1.jar

myfaces-api-1.2.12.jar

myfaces-impl-1.2.12.jar

 

2.  解決weblogic12Myfaces1.2.12整合問題

若是直接把項目部署,會報錯,這個錯誤就是weblogic對Myfaces報的錯誤

解決辦法: 

解壓Weblogic12 安裝目錄下的war, 路徑以下

/wlserver_12.1/common/deployable-libraries/jsf-1.2.war

進入war包裏的WEB-INF,獲得weblogic.xml,複製到本身的項目WEB-INF裏去,和web.xml同級

weblogic.xml

    <?xml version="1.0" encoding="UTF-8"?> 
    <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"> 
        <container-descriptor> 
                <prefer-application-packages> 
                <package-name>javax.faces.*</package-name> 
                <package-name>com.sun.faces.*</package-name> 
                <package-name>com.bea.faces.*</package-name> 
                </prefer-application-packages> 
                <prefer-application-resources> 
                <resource-name>javax.faces.*</resource-name> 
                <resource-name>com.sun.faces.*</resource-name> 
                <resource-name>com.bea.faces.*</resource-name> 
               <resource-name>META-INF/services/javax.servlet.ServletContainerInitializer
               </resource-name> 
                </prefer-application-resources> 
        </container-descriptor> 
</weblogic-web-app> 
 
3. 解決Weblogic12C 下 與Hibernate3 的包衝突問題

項目部署正常,可是一調用hibernate查詢就會報出org.hibernate.hql.ast.HqlToken異常

   網上的解決辦法都是基於weblogic10,因此不行,我對相關的包進行分析,發現位於modules/com.bea.core.antlr.runtime_2.7.7.0.jar  與 項目hibernate3須要的antlr-2.7.6.jar 發生衝突

   解決辦法: 在weblogic安裝目錄隨意創建一個文件夾,/opt/Oracle/Middleware/test/,我這裏創建了test文件夾,而後複製項目 中的antlr-2.7.6.jar到剛創建的文件夾下,這樣路徑/opt/Oracle/Middleware/test/下就有個jar包 antlr-2.7.6.jar

  而後編輯${DOMAIN_HOME}/bin/startWebgoic.sh ,找到CLASSPATH這行,修改添加以下:

  WEB_ANTLR="/opt/Oracle/Middleware/test/antlr-2.7.6.jar"  (添加行)

  CLASSPATH="${WEB_ANTLR}:${SAVE_CLASSPATH}"         (修改這行)

 

4. 解決web.xml字符串匹配問題

 出現spring 實例化bean類找不到問題,這是因爲web.xml中用了匹配符

classpath:/applicationContext*.xml

解決方法是去掉匹配符,把要歸入的xml文件所有寫出來

classpath:/applicationContext-dao.xml,classpath:/applicationContext-hisdao.xml.............

 

5.解決標籤重複引用問題

出現the page directive attribute "pageEncoding" may only be used once per

解決辦法:  A頁面嵌套B頁面,A頁面<%@ pagelanguage="java" errorPage="/error.jsp"  pageEncoding="GBK" contentType="text/html;charset=GBK"%>,子頁面B也重複應用了pageEncoding="GBK".把子 頁面B的pageEncoding="GBK"刪掉就好了

 

 

關於Weblogic,因爲它擁有它本身一套類加載器機制,因此和許多開源項目發生衝突,並且對頁面和xml文件的審覈很是嚴謹,標籤的重用,xml文件的內容.

相關文章
相關標籤/搜索