Maven配置專案依賴使用本地倉庫的方法彙總(小結)
Maven配置專案使用本地倉庫有以下方式實現:
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包所在位置。
!更好的方式是配置編譯引數<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檔案的本地倉庫地址,但是這個方式的意思不是用在專案上的本地倉庫,而是比如遠端倉庫快取的本地目錄;如果要實現專案上使用的本地倉庫,可以使用這個思路解決,比如先配置好本地倉庫目錄,然後安裝需要的JAR包到本地倉庫,最後就是在專案上直接引用這個JAR包即可。
配置setttin.xml的本地倉庫目錄方式如下:
<localRepository>C:/MyLocalRepository</localRepository>
安裝JAR包的思路參考:https://www.jb51.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>
注意:
①上面的配置是遠端倉庫的deploy,其中包括了兩個地址release和snapshot。
②配置deploy到本地倉庫只需要配置<repository>節點即可,<snapshotRepository>節點去除。
③本地倉庫的url參考:file:/user/jim/home/test/或者file:D:/test/
使用命令:mvn deploy
釋出好之後整個資料夾test裡面的內容可以提交到一個遠端目錄或者直接使用這個本地目錄,在POM專案上配置遠端倉庫的地址,不過這個url節點可以使用本地路徑,配置如下:
<repositories> <repository> <id>jsoftlocal-mvn-repo</id> <url>file:D:/test/</url> </repository> </repositories>
提示:這個url節點可以是遠端地址,本地區域網地址,也可以是本地目錄地址。
配置好之後,直接在POM上配置自己釋出的依賴即可。比如我釋出測試的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檔案的任意節點的內容
到此這篇關於Maven配置專案依賴使用本地倉庫的方法彙總(小結)的文章就介紹到這了,更多相關Maven 依賴本地倉庫內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!