【我的SegmentFault原文】https://segmentfault.com/a/1190000007721071
使用過Maven的小伙伴都知道,必須新建Maven Project才能使用它,效果如下:

對於新手,上手還是有點難度的。同時對於個人開發的小項目(多而雜),建立一個屬於自己的Repository解決jar共用和定制化加載需求,也是很有必要。探尋中,個人尋找到一個比較折中的解決辦法,供大家參考使用
一、Java Build Path的Libraries
1、常見的Libraries
JRE System Library:指Java SE 的常用庫文件集合,建立普通的Java項目均會使用;
Java EE 6 Libraries:指Java EE的常用庫文件的集合,建立Web項目會用到這個庫集合與Java SE的庫文件集合;
Referenced Libraries: 指你項目中所使用的第三方庫文件集合。如果你把項目所需要的其他JAR包直接加在項目->屬性->Java Build Path -> Libraries 中的時候,MyEclipse 會自動將這些JAR包歸類到一個集合中, 並取名為 Referenced Libraries,顯示在項目中;
Web App Libraries:一般為Web Project專有的庫文件集合,自動加載管理項目的WEB-INF/lib目錄下jar包;
Maven Dependencies:Maven Project專有的庫文件集合,通過讀取pom.xml配置文件從MavenRepository加載相應的jar包;
2、Libraries的Add方法
Add Jars...:添加JAR包,是指本Eclipse當前包含的工程中的,在工程列表下選取即可;
Add External Jars...:添加外部的JAR,是指外部的,需要用文件管理器,在電腦硬盤上選取;
Add Variable...:添加變量,Eclipse的編譯時用到的的環境變量;
Add Library...:添加庫,是指一些已經定義好的jar的集合,因為它們經常是一起用,比如JRE System Library和Java EE 6 Libraries;
Add Class Folder...:添加類的目錄,是指本Eclipse范圍中的,在工程列表下選取接口;
Add External Folder...:添外部加類的目錄,需要用文件管理器,在電腦硬盤上選取;
二、.classpath文件
.classpath實際是一個XML格式的配置文件,<classpath>... ...</classpath>這個標簽中存放的便是classpath的信息,它一般包含以下五種形式:
1.<classpathentry kind="src" path="src"/>:指定source folder類型的目錄,kind="src"表示這個classpath的類型,path表示在項目中的路徑,path使用根目錄的相對路徑(相對.classpath文件本身的相對路徑)
2、<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">:指定程序的JRE運行環境,kind="con"表示classpath的類型,con即是Container,就是程序運行的容器,或者就說是運行環境
3、<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>:指定程序運行時的容器,一般情況下是java web項目才會有,它是包含了J2EE服務器要使用到的一些jar包, 這句是kind="con"當然和上條一樣,是表示運行時的容器
4.<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/bsf-2.3.0.jar"/>:指定第三方jar包加載的路徑,kind="lib"表示classpath中的庫文件,path指定庫文件的路徑,同樣是相對與項目根目錄的相對路徑
5、<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>:指定項目的編譯輸出目錄,在java web中也就是WebRoot/WEB-INF/classes,同樣使用的path是相對項目根目錄的相對路徑(相對.classpath文件本身的相對路徑)
三、Eclipse設置內容
1、設置實現的效果
通過設置主要解決以下幾個問題:
1)同一個jar包在各項目中復用
2)jar包在各項目中自定義加載
3)workspace或電腦更換,不影響項目導入使用
4)方便通過配置文件批量快速加載jar包
2、設置步驟
-
【步驟1】
在workspace下建一個文件夾,,把jar包分類放在該文件夾里面

-
【步驟2】
右擊項目-Properties-Java Build Path-Libraries-選擇“Add Variable...”

-
【步驟3】
彈出對話框“New Variable Classpath Entry”,點擊“Configure Variables...”

-
【步驟4】
定義新的Classpath Variable,可以理解為指定類加載庫並設置一個變量名稱,方便在.classpath文件中調用,有點像Java里接口的概念


(這是我設置的效果圖,定義了一個JARs Libraries庫)

-
【步驟5】
根據項目的需要,在.classpath文件中快速配置需要加載的jar包。如果自己的Repository里還有多級目錄分類,一個一個查看jar的路徑再配置就有點麻煩,個人推薦一個小技巧演示如下:(適合將已有的項目改變jar包加載方式)
1)先使用“Add Jars...”方式把需要jar包加載,然后查看.classpath文件(用鼠標選擇速度還是快點)
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/> <classpathentry kind="lib" path="D:/myeclipse/JARs Libraries/commons-lang-2.3.jar"/> <classpathentry kind="lib" path="D:/myeclipse/JARs Libraries/commons-lang3-3.4.jar"/> <classpathentry kind="lib" path="D:/myeclipse/JARs Libraries/date4j.jar"/> <classpathentry kind="lib" path="D:/myeclipse/JARs Libraries/javaee.jar"/> <classpathentry kind="lib" path="D:/myeclipse/JARs Libraries/nl.captcha.simplecaptcha-1.1.1.jar"/> <classpathentry kind="lib" path="D:/myeclipse/JARs Libraries/oscore-2.2.2.jar"/> <classpathentry kind="lib" path="D:/myeclipse/JARs Libraries/slf4j-api-1.7.21.jar"/> <classpathentry kind="lib" path="D:/myeclipse/JARs Libraries/xwork-2.1.2.jar"/> <classpathentry kind="output" path="bin"/> </classpath>
2)進行文本內容替換操作
(替換內容)
kind="lib" ->> kind="var"
D:/myeclipse/JARs Libraries ->> JARs Libraries
(替換效果)
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/> <classpathentry kind="var" path="JARs Libraries/dom4j/dom4j-1.6.1.jar"/> <classpathentry kind="var" path="JARs Libraries/dom4j/jaxen-1.1-beta-6.jar"/> <classpathentry kind="var" path="JARs Libraries/commons-lang-2.3.jar"/> <classpathentry kind="var" path="JARs Libraries/commons-lang3-3.4.jar"/> <classpathentry kind="var" path="JARs Libraries/date4j.jar"/> <classpathentry kind="var" path="JARs Libraries/javaee.jar"/> <classpathentry kind="var" path="JARs Libraries/nl.captcha.simplecaptcha-1.1.1.jar"/> <classpathentry kind="var" path="JARs Libraries/oscore-2.2.2.jar"/> <classpathentry kind="var" path="JARs Libraries/slf4j-api-1.7.21.jar"/> <classpathentry kind="var" path="JARs Libraries/xwork-2.1.2.jar"/> <classpathentry kind="output" path="bin"/> </classpath>
-
【步驟6】
設置完成,刷新項目,發現“Referenced Libraries”下面加載的jar包路徑信息顯示“JARs Libraries”,說明設置效果基本達到。

