Maven配置項目依賴使用本地倉庫的方法匯總(小結)
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.fzitv.net/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>
注意:
?、偕厦娴呐渲檬沁h程倉庫的deploy,其中包括了兩個地址release和snapshot。
?、谂渲胐eploy到本地倉庫只需要配置<repository>節(jié)點即可,<snapshotRepository>節(jié)點去除。
?、郾镜貍}庫的url參考:file:/user/jim/home/test/或者file:D:/test/
使用命令:mvn deploy
發(fā)布好之后整個文件夾test里面的內容可以提交到一個遠程目錄或者直接使用這個本地目錄,在POM項目上配置遠程倉庫的地址,不過這個url節(jié)點可以使用本地路徑,配置如下:
<repositories>
<repository>
<id>jsoftlocal-mvn-repo</id>
<url>file:D:/test/</url>
</repository>
</repositories>
提示:這個url節(jié)點可以是遠程地址,本地局域網地址,也可以是本地目錄地址。
配置好之后,直接在POM上配置自己發(fā)布的依賴即可。比如我發(fā)布測試的JAR包引入如下:
<dependency>
<groupId>com.jsoft</groupId>
<artifactId>testcommon</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
Maven內置變量說明:
- ${basedir} 項目根目錄
- ${project.build.directory} 構建目錄,缺省為target
- ${project.build.outputDirectory} 構建過程輸出目錄,缺省為target/classes
- ${project.build.finalName} 產出物名稱,缺省為${project.artifactId}-${project.version}
- ${project.packaging} 打包類型,缺省為jar
- ${project.xxx} 當前pom文件的任意節(jié)點的內容
到此這篇關于Maven配置項目依賴使用本地倉庫的方法匯總(小結)的文章就介紹到這了,更多相關Maven 依賴本地倉庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
一場由Java中Integer引發(fā)的踩坑實戰(zhàn)
Java中的數(shù)據(jù)類型分為基本數(shù)據(jù)類型和復雜數(shù)據(jù)類型int是前者而integer是后者(也就是一個類),下面這篇文章主要給大家介紹了關于由Java中Integer引發(fā)的踩坑實戰(zhàn),需要的朋友可以參考下2022-11-11
Mybatis實現(xiàn)自定義類型轉換器TypeHandler的方法
Mybatis實現(xiàn)自定義的轉換器非常的簡單,只需要三步就可以實現(xiàn)自定義類型轉換器TypeHandler,非常不錯,具有參考借鑒價值,感興趣的朋友一起看下吧2016-07-07
JAVA8獲取list集合中重復的元素與獲取去重數(shù)據(jù)實例
這篇文章主要給大家介紹了關于JAVA8獲取list集合中重復的元素與獲取去重數(shù)據(jù)的相關資料,在實際開發(fā)中經常會遇到需要找出(刪除)一個list中某些元素的屬性相同的元素,需要的朋友可以參考下2023-07-07
Springboot實現(xiàn)阿里云通信短信服務有關短信驗證碼的發(fā)送功能
短信驗證碼是通過發(fā)送驗證碼到手機的一種有效的驗證碼系統(tǒng)。主要用于驗證用戶手機的合法性及敏感操作的身份驗證。下面通過本文大家分享Springboot實現(xiàn)阿里云通信短信服務有關短信驗證碼的發(fā)送功能,一起看看吧2017-08-08
java動態(tài)規(guī)劃算法——硬幣找零問題實例分析
這篇文章主要介紹了java動態(tài)規(guī)劃算法——硬幣找零問題,結合實例形式分析了java動態(tài)規(guī)劃算法——硬幣找零問題相關原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2020-05-05
web.xml中servlet, bean, filter, listenr 加載順序_動力節(jié)點Java學院整理
這篇文章主要介紹了web.xml中servlet, bean, filter, listenr 加載順序,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08

