Weblogic常見錯誤以及解決辦法

 特殊注意事項,在eclipse下最好採用和運行weblogic一樣的jdk版本進行編譯,否則會出現文件訪問版本不一致的bug。

1)控制檯報The WebLogic Server did not start up properly.
java.io.InvalidClassException: javax.management.MBeanAttributeInfo; local class incompatible: stream classdesc serialVersionUID = 7043855487133450673, local class serialVersionUID = 8644704819898565848
錯誤原因及解決辦法:MBeanAttributeInfo的serialVersionUID的版本控制id不一樣,說明是使用這個被使用的bean被修改過了,很顯然是版本不對;修改startWebLogic.cmd文件,設置set JAVA_HOME=D:/bea/jdk141_05,使其指向weblogic自帶的jdk;重啓startWebLogic.cmd問題消失。

2)錯誤報Deployment descriptor "web.xml" is malform
ed. Check against the DTD: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find

錯誤原因及解決辦法:解析web.xml出現問題,修改OPEN_CMS/webapp/WEB-INF/web.xml文件;在該文件的 最上面添加如下內容:

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

把weblogic部署到myeclipse下面,啓動weblogic時就會報錯:Deployment descriptor "web.xml" is malformed. Check against the DTD: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'web-app'.

這是web.xml的配置出錯了,不能用以前這個:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

</web-app> 這種格式,需要換成:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

</web-app>

這種格式,問題解決。。

重新啓動錯誤消失。

3)錯誤爲Deployment descriptor "/WEB-INF/
web.xml" is malformed. Check against the DTD: The content of element type "t
ag" must match "(name,tag-class,tei-class?,body-content?,display-name?,small-ico
n?,large-icon?,description?,variable*,attribute*,example?)". (line 40, column 11
).>

錯誤原因及解決辦法:由於weblogic8在解析xml文件時,對xml文件的內容格式要求特別嚴格;必須按照xml格式的要求

及排列順序,所以必須重新組織其內容,一定嚴格要注意順序,如 <servlet>就不能放在<servlet-mapping>後面。

4)錯誤java.lang.SecurityException: Prohibited package name: java.lang

錯誤原因及解決辦法:訪問包可視的方法或變量錯誤;這個錯誤恨少見,一直沒有想明白其中緣由;後來只能採用直接引用jar文件的法子解決該問題;

i)利用opencms自帶的build.xml文件,運行ant jar命令;生成opencms.jar和webdav.jar兩個文件

ii)在startWebLogic.cmd添加如下內容,引進上面的2個jar文件

set CLASSPATH=%CLASSPATH%;%OPEN_CMS%/build/opencms.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%/build/webdav.jar

大家有興趣的可以參考《透視JAVA——反編譯、修補和逆向工程技術》這本書的$4.2章的內容,如果找到更好的解決方法也請來信告知。

發佈了8 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章