首页 > 代码库 > 添加Main-Class到manifest中

添加Main-Class到manifest中

Maven默认打包生成的jar是不能够直接运行的,因为带有main方法的类信息不会添加到manifest中(打开jar文件中的META-INF/MANIFEST.MF文件,将无法看到Main-Class一行)。为了生成可执行的jar文件,需要借组maven-shade-plugin,配置该插件如下:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">	<modelVersion>4.0.0</modelVersion>	<groupId>cn.xianshiyouhui.mvntest</groupId>	<artifactId>hello-world</artifactId>	<version>1.0-SNAPSHOT</version>	<name>Maven Hello World Project</name>	<dependencies>		<dependency>			<groupId>junit</groupId>			<artifactId>junit</artifactId>			<version>4.11</version>			<scope>test</scope>		</dependency>	</dependencies>	<build>		<plugins>			<plugin>				<groupId>org.apache.maven.plugins</groupId>				<artifactId>maven-shade-plugin</artifactId>				<version>2.3</version>				<configuration>					<transformers>						<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">							<mainClass>cn.xianshiyouhui.mvnbook.helloworld.HelloWorld</mainClass>						</transformer>					</transformers>				</configuration>				<executions>					<execution>						<phase>package</phase>						<goals>							<goal>shade</goal>						</goals>					</execution>				</executions>			</plugin>		</plugins>	</build></project>

添加Main-Class到manifest中