項目需要很多外部jar包,通過安裝到本地太麻煩,最好是maven可以幫我們把依賴包一起打進去,下面看下具體配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- compile with lib -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArgs>
<!-- maven3.1以上建議用-->
<arg>-extdirs</arg>
<arg>${project.basedir}/lib</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
<!-- 加入lib中的jar -->
<resources>
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource>
</resources>
</build>
這裏我在項目中創建lib文件夾,與src平級。
在配置文件中:
<extdirs>${project.basedir}/lib</extdirs>
用來指定lib,這裏的配置保證編譯的時候可以找到jar包。${project.basedir}表示項目目錄,如果不加入Linux下可能會找不到jar包(沒有測試過)。
後面的resources部分保證發佈之後可以找到jar。
第一個resource,表示將lib文件加入到BOOT-INF/lib/下,不知道BOOT-INF路徑在哪的同學可以等下打好包之後,打開jar包看看裏邊的結構。這裏的includes是表示將所有文件下的所有jar包都打入jar包中,如果你只要引入lib下的jar包,可以不用寫includes部分;如果還有別的文件夾下的jar需要打入jar包,則可以寫成
<includes>
<include>**/*.jar</include>
</includes>
(這裏的**寫具體的路徑怎麼寫?)
沒有第二個resource,則不會將src/main/resources下的配置文件打入包內(親測)。
最後附上項目結構