SpringBoot使⽤Maven打包异常-引⼊外部jar的问题及解决
⽅案
由于项⽬需要,在需要打包的时候,由于引⼊的外部jar在本地是可以使⽤的,但是当打包后启动时报错,不到对应的类。
使⽤
1、引⼊外部jar包
项⽬中简历⽂件夹lib
可以在resultces包下简历⼀个lib⽂件夹,将jar包扔进去:
在配置⽂件中引⽤
<dependency>
<groupId&</groupId> //组织,随便命名
<artifactId>***</artifactId> //包的名字,随便命名
<version>1.1.2</version> //版本,随便命名
<scope>system</scope> //scope为system时,⾃动添加lib依赖包
<systemPath>${basedir}/src/main/resources/lib/**.jar</systemPath> //路径,这⾥我jar在resources⽬录的lib⽂件夹下,也可以放在跟⽬标,路径按需修改 </dependency>
2、项⽬打包
遇到问题
是由于项⽬打包时,不识别外部jar,⼜没有进⾏配置,继⽽导致出现问题。
解决⽅案
解决⽅式很简单,只需要在l⾥⾯配置下includeSystemScope就⾏。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
PS:maven项⽬引⼊外部jar(打包是jar形式springboot项⽬)
1、在项⽬src同级⽬录建⽴⼀个lib⽬录,将jar包放⼊lib中
2、在l⽂件中引⼊依赖
<!-- 引⼊外部jar包 -->
<dependency>
<groupId>com.hikvision.artemis</groupId>
<artifactId>sdk</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/artemis-http-client-1.0-SNAPSHOT.jar</systemPath>
</dependency>
groupId、artifactId、version可以随意写
3、外部jar包可能与本地中jar起冲突,需要排除,常见的是⽇志冲突,外部jar也有引⼊⽇志的jar。在项⽬运⾏时会出现警告。可以在pom所在⽬录,使⽤cmd命令:mvn dependency:tree查看jar依赖关系,然后使⽤exclusions排除冲突的jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除jar冲突 -->
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
这⾥是排除了⽇志,排除外部jar包中⽇志,若不到依赖关系,再排除springboot⾃带的log。
总结maven打包本地jar包
到此这篇关于SpringBoot使⽤Maven打包异常-引⼊外部jar的问题及解决⽅案的⽂章就介绍到这了,更多相关SpringBoot打包异常引⼊外部jar内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。