使用maven-jar-plugin和maven-dependency-plugin插件打包
maven-jar-plugin用于生成META-INF/MANIFEST.MF文件
maven-dependency-plugin插件用于将依赖包拷贝到outputDirectory指定的位置
在项目pom.xml下面添加插件并配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.example.dds.DdsMain</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
需要修改下jar默认运行的主类,修改mainClass即可。
使用maven-shade-plugin插件打包
通过 maven-shade-plugin 生成一个 uber-jar,它包含所有的依赖 jar 包
在项目pom.xml下面添加插件并配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.asiainfo.dds.DdsMain</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
同样的,修改一下启动的主类即可