问题描述:
调用第三方接口的时候通过手动引入了第三方的两个jar包到我本项目的lib文件夹下,并在pom文件添加入下配置:
<dependency>
<groupId>cn.xxxx.xxxx.core</groupId>
<artifactId>xxxx-core</artifactId>
<version>1.2.7</version>
<scope>system</scope>
<systemPath>${basedir}/lib/xxxx-core-1.2.7.jar</systemPath>
</dependency>
<dependency>
<groupId>cn.xx.xx.auth.security</groupId>
<artifactId>xx-auth-security</artifactId>
<version>1.1.7</version>
<scope>system</scope>
<systemPath>${basedir}/lib/xxxx-auth-security-1.1.7.jar</systemPath>
</dependency>
两个jar包成功引入,本地编译运行一切正常。但正式部署打jar包后运行时却报错,提示引入的两个第三方包的类找不到,上线了这才发现打jar包的时候没有将第三方包打入。
解决办法如下,在plugins下加上下面的配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<skip>true</skip>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>${project.basedir}/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
<resources>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>BOOT-INF/lib</targetPath>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>