問題描述:
調用第三方接口的時候通過手動引入了第三方的兩個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>lib</directory>
<targetPath>BOOT-INF\lib</targetPath>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>