idea+maven+maven-shade-plugin打包可执行jar
Maven打包可执行jar包,需要借助 maven-shade-plugin 插件。
添加插件
在pom文件中 节点下增加如下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.example.demo8.Hello</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
准备源码
package org.example.demo8;
public class Hello {
public static void main(String[] args) {
System.out.println(Hello.sayHello());
}
public static String sayHello(){
return "hello world";
}
}
编译打包
mvn clean package
执行完毕,在target目录下收获两个jar包
original-demo8-1.0-SNAPSHOT.jar,原始jar包
demo8-1.0-SNAPSHOT.jar,可执行jar包
用压缩软件打开demo8-1.0-SNAPSHOT.jar包,可以在META-INF目录下的MANIFEST.MF文件中看到我们刚才指定的Main-Class
执行
java -jar ./target/demo8-1.0-SNAPSHOT.jar
执行结果如下,打包成功