SpringBoot 新增本地 jar 檔案
阿新 • • 發佈:2021-09-29
前言
有時候我們在專案中,會用到一些本地 jar 包檔案,比如隔壁公司自己打包的;
此時無法從maven遠端倉庫拉取;
那麼我們可以考慮把 jar 檔案安裝到本地 maven 庫中,然後再新增依賴。
步驟
1. 新增 jar 檔案到專案中
在 resources 目錄中建立一個 lib 目錄,將本地 jar 放進去,如下所示的 demo.jar
2. 安裝 jar 包到 maven 本地倉庫
這裡我們可以利用 maven-install-plugin 外掛來安裝, pom.xml如下:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> <executions> <execution> <id>install-demo-jar</id> <!-- 階段:設定在 mvn clean 時執行安裝,如果設定為 validate,那麼就是在 mvn validate 時才安裝 --> <phase>clean</phase> <configuration> <!-- 路徑:這就是剛才新增的 jar 路徑 --> <file>${project.basedir}/src/main/resources/lib/demo.jar</file> <!-- 屬性:下面的這三個屬性,就是後面我們新增依賴時的值 --> <groupId>com.javalover</groupId> <artifactId>demo</artifactId> <version>1.0</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> <goals> <!-- 目標:安裝外部的 jar 檔案到 maven 本地倉庫 --> <goal>install-file</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
執行mvn clean
後,會列印如下日誌:
[INFO] --------------------------< com.example:demo >-------------------------- [INFO] Building demo 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ demo --- [INFO] [INFO] --- maven-install-plugin:2.5.2:install-file (install-demo-jar) @ demo --- [INFO] pom.xml not found in demo.jar [INFO] Installing /Users/jalon/Project/SpringBootProject/demo/src/main/resources/lib/demo.jar to /Users/jalon/.m2/repository/com/javalover/demo/1.0/demo-1.0.jar [INFO] Installing /var/folders/t6/99ks0lsn0fx2j6kt4n46f_rh0000gn/T/mvninstall6930618999486285918.pom to /Users/jalon/.m2/repository/com/javalover/demo/1.0/demo-1.0.pom [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.316 s [INFO] Finished at: 2021-09-26T22:12:47+08:00 [INFO] ------------------------------------------------------------------------
重點是這一行:
[INFO] Installing /Users/jalon/Project/SpringBootProject/demo/src/main/resources/lib/demo.jar to /Users/jalon/.m2/repository/com/javalover/demo/1.0/demo-1.0.jar`
可以看到,將我們本地的 demo.jar 安裝到了 maven 本地倉庫中
3. 新增依賴
<dependency> <groupId>com.javalover</groupId> <artifactId>demo</artifactId> <version>1.0</version> </dependency>
此時程式就可以正常使用 demo.jar 包了,而且 maven 打包也會把 demo.jar 打包進去
參考
Apache Maven Install Plugin – Introduction
maven外掛maven-install-plugin - Mars.wang - 部落格園 (cnblogs.com)