明明導入了jar包,idea下仍然classnotfoundexception. 如果沒有jar包沖突


ZT:https://blog.csdn.net/wn084/article/details/80482187

        如果你的問題屬於“引入jar包后編譯能通過但在web中調用就報ClassNotFoundException”,請認真看下面的解決方案。不屬於請自覺繞道。^_^

        出現這種問題就說明你引入的jar包在WEB-INF\lib下不存在。那為什么能通過編譯呢?拜托,編譯的時候又不從WEB-INF\lib目錄下尋找類,是從classpath下尋找的,也就是說你引入的jar包只是存在於classpath下。既然分析清楚問題出在哪里,下面就分別演示在IDEA和Eclipse下怎么把jar包正確的引入WEB-INF\lib里面。

在Eclipse下:

    在Eclipse下,很多人會這樣引入jar包:

    先在項目根目錄下創建一個文件夾,將jar包放入:

    

    再選中所有jar包,單擊右鍵,點擊Add to Build Path

    

    這時候項目就會出現這個Libraries:

    

    這樣就引入了Junit的包,可以使用Junit進行單元測試,因為簡單的Junit測試並不涉及web環境,所以這樣並不會報錯。

    若你引入的jar包中會在web環境中使用,上述引入方法就行不通了。因為需要從WEB-INF\lib中尋找jar包,而不是classpath下,所以需要將jar包放在WEB-INF\lib下。項目中出現Web App Libraries代表引入成功。如果沒有出現,需要右鍵jar包,選擇Add to Build Path,否則無法通過編譯。


在IDEA下:

  • 如果創建的web項目中WEB-INF下存在lib目錄,將jar包放入其中后右鍵,選擇Add as Library...即可
  • 如果沒有,可以自行創建后執行上述步驟
  • 如果不想創建,請看如下步驟:
        

        創建一個文件夾將jar包放入,后右鍵選擇Add as Library...

        之后打開項目結構界面:

        

        打開后按照這個步驟操作即可:

           


    免責聲明!

    本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



     
    粵ICP備18138465號   © 2018-2025 CODEPRJ.COM