我開(kāi)發(fā)時(shí)使用的是jxl2.6.12版本的包,在NetBeans6.7上開(kāi)發(fā)時(shí)運(yùn)行良好(tomcat6.0服務(wù)器),在部署到weblogic9.2上時(shí),報(bào)java.lang.NoClassDefFoundError: jxl/write/WriteException異常。
經(jīng)分析以為是weblogic內(nèi)置jxl較低版本的包,后嘗試上傳最新jar包至common/lib下及創(chuàng)建weblogic.xml文件使其優(yōu)先使用WEB-INF下包等兩種解決方案時(shí)仍不能解決問(wèn)題。
之后在一次部署過(guò)程中發(fā)現(xiàn)weblogic報(bào)出:invalid LOC header (bad signature),經(jīng)查得知是不識(shí)別jar包,隨下載jxl2.6的包上傳部署并通過(guò)。
現(xiàn)象:weblogic9.2報(bào)出java.lang.NoClassDefFoundError異常。
原因:weblogic9.2不識(shí)別jar包所致,具體深層原因不明,可參考http://www.zeali.net/entry/106。
解決:使用稍低版本jar包。或許同一版本其他包也可使用,為曾嘗試。
附:weblogic.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>