今天在idea中打包maven项目,引用了外部的jar包,maven打包的时候外部的jar包没有打包进去,报找不到类和符号的解决方案
因为我有些依赖是放在项目lib文件夹中,那么打包的时候要连把它一起打包。
修改pom.xml, 添加一下内容:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<extdirs>lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
</build>
注意这个的路径 <extdirs>lib</extdirs>,是相对于pom.xml的路径来说的,如果lib在src的main路径下,那么路径就要修改为
<extdirs>src/main/lib</extdirs>
然后cmd切换到项目根路径执行打包命令:mvn clean package -Dmaven.test.skip=true
打包后的jar包结构可以看到lib文件夹被整个打包进去了。