除了Maven,還有一種解決jar包管理及定製的好方法

使用過Maven的小夥伴都知道,必須新建Maven Project才能使用它,效果以下:java

clipboard.png

對於新手,上手仍是有點難度的。同時對於我的開發的小項目(多而雜),創建一個屬於本身的Repository解決jar共用和定製化加載需求,也是頗有必要。探尋中,我的尋找到一個比較折中的解決辦法,供你們參考使用web

1、Java Build Path的Libraries

一、常見的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包;api

二、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...:添外部加類的目錄,須要用文件管理器,在電腦硬盤上選取;服務器

2、.classpath文件

.classpath實際是一個XML格式的配置文件,<classpath>... ...</classpath>這個標籤中存放的即是classpath的信息,它通常包含如下五種形式:
1.<classpathentry kind="src" path="src"/>:指定source folder類型的目錄,kind="src"表示這個classpath的類型,path表示在項目中的路徑,path使用根目錄的相對路徑(相對.classpath文件自己的相對路徑)
二、<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,就是程序運行的容器,或者就說是運行環境
三、<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指定庫文件的路徑,一樣是相對與項目根目錄的相對路徑
五、<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>:指定項目的編譯輸出目錄,在java web中也就是WebRoot/WEB-INF/classes,一樣使用的path是相對項目根目錄的相對路徑(相對.classpath文件自己的相對路徑)dom

3、Eclipse設置內容

一、設置實現的效果

經過設置主要解決如下幾個問題:
1)同一個jar包在各項目中複用
2)jar包在各項目中自定義加載
3)workspace或電腦更換,不影響項目導入使用
4)方便經過配置文件批量快速加載jar包eclipse

二、設置步驟

  • 【步驟1】
    在workspace下建一個文件夾,,把jar包分類放在該文件夾裏面ui

clipboard.png

  • 【步驟2】
    右擊項目-Properties-Java Build Path-Libraries-選擇「Add Variable...」spa

clipboard.png

  • 【步驟3】
    彈出對話框「New Variable Classpath Entry」,點擊「Configure Variables...」debug

clipboard.png

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

clipboard.png

clipboard.png

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

clipboard.png

  • 【步驟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」,說明設置效果基本達到。

clipboard.png

相關文章
相關標籤/搜索