问题描述
1.使用springboot项目过程中,使用到了自己的jar包,我该怎么保证自己的jar包被依赖进项目呢?
比如:我现在对接了一个webservice的接口,用来获取第三方大用户的数据。然后我想将这个接口单独打成jar包,还要保证被maven依赖进项目。这时候,我就需要做如下配置:
1》将自己的jar包放入到项目的合适路径下(如:/resources/lib/目录)。
2》配置pom.xml
<dependency>
<groupId>large-caliber-data</groupId>
<artifactId>large-caliber-data</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/large-caliber-data.jar</systemPath>
</dependency>
这样,我自己的jar就能被maven依赖进项目了。
但是,这样本地IEDA跑项目是没问题的,单独打成jar包部署项目(java -jar xxx的方式)就会报错了。错误原因还是因为找不到自己的jar包large-caliber-data.jar里面的类。
这里还需做一件事情,就是得在springboot的打包插件中设置一下includeSystemScope参数。设置如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>