版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/tyn243222791/article/details/78784264
项目需要很多外部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下的配置文件打入包内(亲测)。
最后附上项目结构