Classpath entry C:/Users/xuyan/Workspaces/commons-dbutils-1.2/commons-dbutils-1.2.jar will not be exported or published. Runtime ClassNotFoundExceptions may result.
我在做一個關於blog的web項目 本身電腦裡有一個dbutils1.2 我導入到Myeclipse10中報上面的警告 我以為是版本問題 然後又從ommons.apache.org上下載了dbutils1.5 導入進去後依然報這個警告 到底該怎麼解決 這個警告有什麼後果嗎?
我導入的方法就是Build Path 添加額外的包 然後選擇commons-dbutils-1.5.jar這個文件 然後OK 煩了好久 不知道怎麼回事 請大神指點。
在網上查找的很多信息 最後終於知道了原因 十分感謝“黃剛的博客” 以下內容出自:
http://blog.csdn.net/haha0832/article/details/5766385
三.去除eclipse中jar包關聯性警告
我們在開發過程中會接觸到兩種環境,一是開發環境(對應eclipse中的類路徑),二是運行環境(對應應用服務器中的類路徑)。這時兩個環境中jar包的關系就比較復雜了。這時處理jar包間的關系的總體原則是要保持這兩個環境中jar包的版本一致或者兼容。
在項目WEB-INF/lib目錄中的jar包是兩個環境中共用的部分。這部分jar包要求不能和兩個環境中的jar包有沖突,也就是說lib目錄下的jar包是和兩個環境中的jar包互補的。而兩個環境中的jar包原則上應該是相同的或者兼容的。
例如在eclipse下開發javaEE項目,我們會用到javaEE相關的jar包javaEE.jar,這時的需求是開發環境的需求。但在應用服務器環境中就不需要這個jar,因為應用服務器中會有相關的javaEE的jar包。這時如果我們將項目發布到應用服務器環境中,就會發生jar包沖突的情況。可是我們在開發時還要用這個包,發布時還不能發布到應用服務器中,這怎麼辦呢? 解決的辦法如下:
在eclipse中加入這個jar包(這個jar包當然不在項目目錄中了),eclipse會提示:
Classpath entry XXX.jar will not be exported or published. Runtime ClassNotFoundExceptions may result.
Classpath entry XXX.jar will not be exported or published. Runtime ClassNotFoundExceptions may result.
因為我們這時候確認這個jar包是不需要部署到應用服務器環境中的(如果需要就直接放到lib目錄下就可以了,就不用費這個事了),所以我們做如下操作,解除eclipse這種依賴關系的提示:
點中提示信息-->右鍵-->Quick fix->exclude the associated raw classpath entry from the set of potential publish/export dependencies-->finish.
點中提示信息-->右鍵-->Quick fix->exclude the associated raw classpath entry from the set of potential publish/export dependencies-->finish.
這樣就解除了,jar包的依賴,發布的時候就不會在項目中出現這個jar包了。