Maven打包可执行文件

Maven在默认情况,打包成的jar包是不可执行的,查看jar包是否可运行:打开jar包下的META-INF/MANIFEST.MF,里面若有Main-class: xxx的话就说明示可执行。而maven默认情况下打包完后是不含这一项的。

要让maven打包成可执行的jar:在pom.xml的project元素下新增下面配置(若已有plugins节点,则直接把plugin节点置于其下即可)

 

<plugins>  
<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>这里写主类完整路径</mainClass>
								</transformer>
							</transformers>
						</configuration>
					</execution>
				</executions>  
		  </plugin> 
		</plugins>

  

改完后再运行mvn clean package后,会看到jar包下META-INF/MANIFEST.MF会有Main-class这一行,然后java -jar jar-name 就可以运行主类了

猜你喜欢

转载自lixiaohui.iteye.com/blog/2313311