场景
有时候我们需要引入本地jar包,同样也需要打进war包里面去。
分析
引入本地jar可以这样做:
<dependency>
<groupId>jbarcode</groupId>
<artifactId>jbarcode</artifactId>
<version>0.2.8</version>
<scope>system</scope>
<systemPath>${pom.basedir}/src/main/resources/lib/jbarcode-0.2.8.jar</systemPath>
</dependency>
之后要导入到war包中,spring boot有两种方式去解决这个问题。
解决方法
方法一:
在maven的pom.xml中加入如下plugin
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
或许你已经有这个plugin,请注意添加
includeSystemScope
这个节点。
注意事项:
本地jar包会发布到
lib-provided
中,如果单独部署tomcat,还是会报
class not found
异常,本方法只适用于
java -jar
命令运行 war 文件的方式。
方法二:
在maven的pom.xml中加入如下plugin(原封不动复制进去即可)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>compile</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
<includeScope>system</includeScope>
</configuration>
</execution>
</executions>
</plugin>
这种方式会把本地jar打包到lib文件夹中。
参考文章:
点我
版权声明:本文为qq_26665787原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。