用命令將本地jar包匯入到本地maven倉庫

南國薏米發表於2021-01-01

前情提要】在日常開發過程中,我們總是不可避免的需要依賴某些不在中央倉庫,同時也不在本地倉庫中的jar包,這是我們就需要使用命令列將需要匯入本地倉庫中的jar包匯入本地倉庫,使得專案依賴本地倉庫中的程式碼。


例如我們需要將下面pom檔案中的jar包引入本地倉庫

      <dependency>
            <groupId>com.eelve</groupId>
            <artifactId>todo</artifactId>
            <version>1.0</version>
       </dependency>

匯入命令

mvn install:install-file -Dfile=D:\link\lib\todo-1.0.jar  -DgroupId=com.eelve -DartifactId=todo -Dversion=1.0 -Dpackaging=jar

命令詳解

-Dfile:jar包所在本地的具體路徑
-DgroupId:專案組織唯一的識別符號,實際對應JAVA的包的結構
-DartifactId:專案的唯一的識別符號,實際對應專案的名稱,就是專案根目錄的名稱
-Dversion:版本號
-Dpackaging:打包的型別

結果示例 匯入jar包結果


【小貼士】maven的倉庫分類

在maven中,倉庫可以分為:本地倉庫、遠端倉庫。 遠端倉庫可以分為:中央倉庫、私服倉庫。 中央倉庫是maven官方指定的倉庫,可以理解為“尋找的最後一站”。 私服倉庫可以是自己建的,也可以是其它主體建的(比如aliyun的maven倉庫,jboss的maven倉庫等)。 私服可以分為:全域性應用的私服倉庫、應用到專案自身的私服倉庫。

maven尋找得順序大致可以理解為: 1,在本地倉庫中尋找,如果沒有則進入下一步。 2,在全域性應用的私服倉庫中尋找,如果沒有則進入下一步。 3,在專案自身的私服倉庫中尋找,如果沒有則進入下一步。 4,在中央倉庫中尋找,如果沒有則終止尋找。

補充: 1,如果在找尋的過程中,如果發現該倉庫有映象設定,則用映象的地址代替。 2,如果倉庫的id設定成“central”,則該配置會覆蓋maven預設的中央倉庫配置。

以上,通過實踐得來的,可能不全面,僅當參考

相關文章