心有猛虎,细嗅蔷薇.
最近公司和第三方项目进行,于是需要引入第三方的SDK来调用一些东西。引入进来什么都是很好的,但是发布出去就出现各种ClassNotFuoundException等问题,然后看下测试环境的log发现了第三方的SDK中的类不存在,这就让我有点好奇了,因为在本地的IDEA都是各种调通和各种好的情况,于是就猜想可能是没有打入到Jar中去,然后用解压工具解压,发现果然是真的没有第三方的SDK存在,所以这里就会有了这篇文章的记录.
pom依赖中引入第三方;这里的XXX.jar就代替了第三方的名字.
<dependency>
<groupId>com.sfjar</groupId>
<artifactId>sf-csim-express-sdk</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/jar/XXXX.jar</systemPath>
</dependency>
然后记得在 加上includeSystemScope;这样你在build项目的时候,第三方的jar也会被打入到项目中。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>