生成可执行的jar
默认生成的jar包是不能够直接运行的,以为带有main方法的类信息不会添加到manifest中(打开jar文件中的META-INF/MANIFEST.MF文件,将无法看到Main-Class一行),借助maven-shade-plugin可以生成可执行的jar文件。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation = "org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.pizi.helloworld.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
配置了mainClass为com.pizi.helloworld.HelloWorld,项目在打包的时候,会将该信息放到MANIFEST中。现在执行maven clean install ,待构建完成之后打开target目录,可以看到hello-world-1.0-SNAPSHOT.jar和original-hello-world-1.0-SNAPSHOT.jar,前者是带有Main-Class信息的可运行的jar,后者是原始jar,现在可以在根项目目录执行该jar
java -jar hello-world-1.0-SNAPSHOT.jar