###一、将工程打成jar包(不是可执行的jar包) 普通的maven java工程能够经过pom文件的配置将工程打成jar包,可是该jar包没法执行(经过java -jar xxx.jar此方式),由于jar包下的MANIFEST.MF文件中没有MainClass信息。html
###二、将工程打成可执行的jar包 这里使用maven-shade-plugin插件来打包,关于maven-shade-plugin和maven-assembly-plugin的差异,在这很少作说明,有兴趣的能够参考一下连接。java
http://chenzhou123520.iteye.com/blog/1706242spring
http://blog.csdn.net/defonds/article/details/43233131apache
最后直接放上maven-shade-plugin插件的配置:maven
<build> <finalName>mqConsumer</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.yunhetong.mq.App</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build>
###三、maven-shade-plugin官方文档 参考maven官方文档:ui
http://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html#.net
http://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html插件