1、两种打包依赖的方法
- 带依赖项的胖jar包
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.5.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.example.App</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
- 不带依赖项的瘦jar包
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.example.App</mainClass> <!-- 替换为你的主类 -->
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
2、遇到的奇怪的问题
- 部分依赖在运行时缺失
- 解决办法:可以把这个依赖放在java地址中的jre/ext文件下
- 已经正确导入包,但是项目中使用的还是父依赖的包,且忽略指定包还是没效果