Spring Boot引用本地jar包
阿新 • • 發佈:2019-02-18
最近在做一個SpringBoot的小工程,這類工程通常都是使用maven管理依賴並打包,但最近這個工程因為某些原因(比如企業自己的jar包,或者修改後的開源專案jar包)需要引用本地jar包。這種情況有兩種方案可以採用:
一,搭建一個本地maven源,仍然通過maven管理。這種方法的缺點是,一旦工程需要多人維護,每人都需要搭一個本地源,比較麻煩,除非公司有公用的內部maven源,否則這種方案反而增加工作量。
二,以外部jar方式匯入本地jar包,然後配置maven的打包引數。這個方式比較靈活,jar包跟著工程走,在工程不大的情況下比較容易管理。但是網上找了很多pom.xml的配置,幾乎就看不到一個對的,自己花了個把小時研究終於試出一種對的,貼出來供大家參考。
首先在工程下建一個lib目錄(和src平級),把本地jar拷進去。
然後把這些包新增進工程,我用的idea,是在Project Settings -- Libraries裡操作,很簡單就不貼圖了。
接下去修改pom.xml的<build>段,如果沒有,放在和<dependencies>平級,另外這裡的路徑是我這個目錄結構才用的路徑,如果lib位置和我不一樣需要自主修改:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.example.TransferApplication</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>${project.basedir}/lib</extdirs> </compilerArguments> </configuration> </plugin> </plugins> <resources> <resource> <directory>lib</directory> <targetPath>BOOT-INF/lib/</targetPath> <includes> <include>**/*.jar</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <targetPath>BOOT-INF/classes/</targetPath> </resource> </resources> </build>