爲此,咱們有必要對項目開發中涉及到的jar包引入/管理操做做一個比較全面的瞭解,爲進一步提升開發效率作好鋪墊.java
一.jar包導入方式web
A.直接用MyEclipse裏自帶的相關的項目jar包,右擊項目「MyEclipse」菜單,選擇對應的jar包就OK了,例如「Add hibernateCapabilities」,而且能夠設置Hibernate的一些配置信息,不錯的可視化操做;服務器
B.添加外部的jar包到web項目的lib包下,右擊項目「Properties」-->「Java Build Path」-->「Libraries」選項卡;eclipse
C.本身手動拷貝jar文件到項目的lib包下,具體操做只要把要添加的jar文件拷貝到MyEclipse中的workspace下的lib包裏就行了;模塊化
以上三種方式導入jar包均可以,可是怎麼抉擇呢?對於方式1, jar文件直接連接到MyEclipse的文件下,並無拷貝到WEB-INF/lib目錄下,不得用項目的發佈、移植,可能會出現jar找不到的情形;方式2一樣有這個缺點;方式3直接添加到WEB-INF/lib目錄下,移植性強,可操做性也強。建議使用第三種方式,我的偏好而已.ui
二.jar包顯示隱藏方式spa
不一樣的開發人員,都有着他固有的開發習慣,有的人就以爲把jar包顯示在開發視圖裏太礙眼,看起來不舒服,複雜。而有些人就想研究看看到底導了哪些jar包,運用了哪些技術而且經過點擊jar包裏的class文件直接查看源碼(假設先前有導入源碼)。因此呢,這裏就牽涉到了一個jar包的顯示與隱藏問題了:在Package Explorer這個窗體中,右上角有個下拉小三角,點擊-->「Filters」-->「Name filter patterns(matching names will be hidden)」,在這一選項下填有*.jar,勾上覆選框即表示這一類的文件不顯示,多個類型之間可用「,」分隔。.net
三.去除eclipse中jar包關聯性警告hibernate
咱們在開發過程當中會接觸到兩種環境,一是開發環境(對應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會提示:ip
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.
這樣就解除了,jar包的依賴,發佈的時候就不會在項目中出現這個jar包了。