问题描述:
调用第三方接口的时候通过手动引入了第三方的两个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>