maven中新增自定義jar包
引言: 在軟體專案中,Maven提供了一體化的類庫管理系統,非常實用。但是,如果新增的類庫jar在網路上無法獲取到,如何在本地按照Maven的規則新增進來呢?本文將通過一個小例子展示新增過程。
背景介紹:
一個Maven管理的Java專案,提供一個系統級別的POM.xml,其中定義了整個專案使用的類庫。
需求:
需要新增一個自定義的類庫到當前專案中。假定當前的類庫檔名為:abc.jar.、
如何將類庫新增進來?
1. 找到當前Maven的Repository類庫位置
一般預設情況下,在window系統下是當前使用者目錄: C:\Users\ZhangSan. 其中ZhangSan就是系統中當前的使用者名稱. 在Linux系統下是/home/${USER_NAME}.
在此目錄下,有一個隱藏的目錄.m2/repository專門用來存放Maven系統中管理的各種類庫檔案。
2. 假定當前abc.jar的版本為1.0
3. 在新增POM.xml中新增的Dependency片段為:
- <dependency>
- <groupId>MyLocalJar</groupId>
- <artifactId>abc</artifactId>
- <version>1.0</version>
- </dependency>
4. 在.m2/repository下需要新建的目錄為:
MyLocalJar/abc/1.0/abc-1.0.jar
如果groupId為 MyLocalJar.myjar.util,則會被分解為3層的目錄結構:MyLocalJar/myjar/util/1.0.
注意: 這裡的abc.jar已經被新增了版本號,重名為abc-1.0.jar.
然後刷新系統就可以,正常使用了。
總結:
Maven其實遵循一個簡單的原則,就是基於資料夾的層次來隔離各自的路徑,groupId,arrtifactId,version都轉換為了檔案系統中的目錄結構。對於Maven系統中的jar包本身也需要新增版本資訊,例如這裡的abc-1.0.
基於多版本的情況下,則會根據不同的版本,生成不同的目錄,這個也是Maven在管理多版本的類包下的做法。