Maven配置項目依賴使用本地倉庫的方法匯總(小結(jié))
Maven配置項目使用本地倉庫有以下方式實現(xiàn):
1、類似本地倉庫,但是屬于本地依賴,比如某個JAR包是引用第三方的,直接放在了項目的lib文件夾,那么此時可以如下配置項目的POM:
<dependency>
<groupId>ldapjdk</groupId>
<artifactId>ldapjdk</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath>
</dependency>
說明:紅色部分為項目的JAR包所在位置。
!更好的方式是配置編譯參數(shù)<compilerArguments>,添加extdirs將jar包相對路徑添加到配置中,如下:
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>src\main\webapp\WEB-INF\lib</extdirs> <extdirs>${basedir}/WebRoot/WEB-INF/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
說明:紅色部分為項目的JAR包所在位置。
2、配置Maven的setting.xml文件的本地倉庫地址,但是這個方式的意思不是用在項目上的本地倉庫,而是比如遠程倉庫緩存的本地目錄;如果要實現(xiàn)項目上使用的本地倉庫,可以使用這個思路解決,比如先配置好本地倉庫目錄,然后安裝需要的JAR包到本地倉庫,最后就是在項目上直接引用這個JAR包即可。
配置setttin.xml的本地倉庫目錄方式如下:
<localRepository>C:/MyLocalRepository</localRepository>
安裝JAR包的思路參考:http://www.dbjr.com.cn/article/189209.htm
3、使用Maven的deploy(http://maven.apache.org/plugins/maven-deploy-plugin/)插件中的命令mvn deploy部署到本地文件夾,得到JAR包的相關文件,POM配置如下:
<distributionManagement>
<repository>
<id>oss</id>
<url>http://127.0.0.1:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>oss</id>
<url>http://127.0.0.1:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
注意:
①上面的配置是遠程倉庫的deploy,其中包括了兩個地址release和snapshot。
?、谂渲胐eploy到本地倉庫只需要配置<repository>節(jié)點即可,<snapshotRepository>節(jié)點去除。
?、郾镜貍}庫的url參考:file:/user/jim/home/test/或者file:D:/test/
使用命令:mvn deploy
發(fā)布好之后整個文件夾test里面的內(nèi)容可以提交到一個遠程目錄或者直接使用這個本地目錄,在POM項目上配置遠程倉庫的地址,不過這個url節(jié)點可以使用本地路徑,配置如下:
<repositories>
<repository>
<id>jsoftlocal-mvn-repo</id>
<url>file:D:/test/</url>
</repository>
</repositories>
提示:這個url節(jié)點可以是遠程地址,本地局域網(wǎng)地址,也可以是本地目錄地址。
配置好之后,直接在POM上配置自己發(fā)布的依賴即可。比如我發(fā)布測試的JAR包引入如下:
<dependency>
<groupId>com.jsoft</groupId>
<artifactId>testcommon</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
Maven內(nèi)置變量說明:
- ${basedir} 項目根目錄
- ${project.build.directory} 構(gòu)建目錄,缺省為target
- ${project.build.outputDirectory} 構(gòu)建過程輸出目錄,缺省為target/classes
- ${project.build.finalName} 產(chǎn)出物名稱,缺省為${project.artifactId}-${project.version}
- ${project.packaging} 打包類型,缺省為jar
- ${project.xxx} 當前pom文件的任意節(jié)點的內(nèi)容
到此這篇關于Maven配置項目依賴使用本地倉庫的方法匯總(小結(jié))的文章就介紹到這了,更多相關Maven 依賴本地倉庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring報錯:Error creating bean with name的問
這篇文章主要介紹了Spring報錯:Error creating bean with name的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Java使用POI實現(xiàn)excel文件的導入和導出
這篇文章主要為大家詳細介紹了Java如何使用POI實現(xiàn)excel文件的導入和導出功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-12-12
mybatis向數(shù)據(jù)庫里插入記錄后自動返回記錄ID問題
本文介紹了在接手項目時,對一個業(yè)務處理邏輯進行重構(gòu)和性能優(yōu)化的經(jīng)歷,作者提到,性能問題可能是導致bug的一個重要原因,作者提到,在以前的.NET項目中,插入記錄后系統(tǒng)會自動刷新實體類,為其中的主鍵ID賦值,而SpringBoot項目mybatis也可以通過指定主鍵來優(yōu)化代碼2025-01-01
SpringBoot整合WebSocket實現(xiàn)后端向前端發(fā)送消息的實例代碼
WebSocket使得客戶端和服務器之間的數(shù)據(jù)交換變得更加簡單,允許服務端主動向客戶端推送數(shù)據(jù),下面這篇文章主要給大家介紹了關于SpringBoot整合WebSocket實現(xiàn)后端向前端發(fā)送消息的相關資料,需要的朋友可以參考下2023-03-03
java Servlet 實現(xiàn)動態(tài)驗證碼圖片示例
這篇文章主要介紹了java Servlet 實現(xiàn)動態(tài)驗證碼圖片示例的資料,這里整理了詳細的代碼,有需要的小伙伴可以參考下。2017-02-02

