web部署 ClassNotFound問題

來源:互聯網
上載者:User

標籤:style   blog   java   color   使用   os   檔案   io   

  最近轉向做java web,web部署時經常遇到類找不到的情況,環境是eclipse kelper、jboss 1.7。項目在轉向用maven構建,能較方便解決jar包問題,有興趣可嘗試。

ClassNotFound原因歸納有3種:

1.如果是第三方jar包中的類找不到,應首先找到部署web工程的地方,比如jboss下的deployment下,查看是否將需要用到的jar包部署成功了。大多數原因就這麼直觀,就是因為沒這個jar包,所以找不到那個類。2.如果是OSGI工程,那麼使用的第3方jar包,必須寫到MF檔案中的Bundle-ClassPath,類似於
Bundle-ClassPath: /WEB-INF/lib/ibatis-2.3.4.726.jar, /WEB-INF/lib/log4j-1.2.17.jar, /WEB-INF/lib/mysql-connector-java-5.1.5-bin.jar, /WEB-INF/lib/projectUtil.jar, /WEB-INF/lib/struts/commons-fileupload-1.2.1.jar, /WEB-INF/lib/struts/commons-io-1.3.2.jar, /WEB-INF/lib/struts/freemarker-2.3.15.jar, /WEB-INF/lib/struts/ognl-2.7.3.jar, /WEB-INF/lib/struts/struts2-core-2.1.8.jar, /WEB-INF/lib/struts/xwork-core-2.1.6.jar

每行前面記得空一個空格。

3.同樣是OSGI工程,極少數的情況下會提示找不到jdk中的類,比如今天就遇到找不到javax.xml.namespace.Qname;

網上搜了下,可通過在MF檔案中的Import-Package添加相應的包來解決,原理還沒搞懂,類似於

Import-Package: javax.xml.namespace;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.