Maven构建可执行jar包--maven-shade-plugin

###一、将工程打成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插件

相关文章
相关标签/搜索