maven打包生成可执行jar文件

时间:2021-02-03 18:33:13

默认打包生成的jar是不能直接运行的,因为带有main方法的类信息不会添加到mainfest中(打开jar文件中的META-INF/MAINFEST.MF文件,将无法看到Main-Class一行)。要生成可执行的jar文件,可修改pom.xml增加如下内容,以下两种方法均可

1.

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-shade-plugin</artifactId>  
    <version>2.0</version>  
    <executions>  
        <execution>  
            <phase>package</phase>  
            <goals>  
                <goal>shade</goal>  
            </goals>  
            <configuration>  
                <transformers>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
                        <mainClass>com.dianping.lx.App</mainClass>
                    </transformer> 
                </transformers>  
            </configuration>  
        </execution>  
    </executions>  
</plugin>

2.

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-jar-plugin</artifactId>  
    <version>2.4</version>  
    <configuration>  
        <archive>  
            <manifest>  
                <addClasspath>true</addClasspath>  
                <classpathPrefix>lib/</classpathPrefix>  
                <mainClass>com.dianping.lx.App</mainClass>  
            </manifest>  
        </archive>  
    </configuration>  
</plugin>  

执行mvn clean package即可生成可执行jar文件,执行如图:

maven打包生成可执行jar文件


以上是通过maven命令行方式生成,如果使用IntelliJ IDEA,可以方便的通过设置来生成,并且可以选择把依赖的jar包打包进jar文件或单独复制到lib目录,可参考http://bglmmz.iteye.com/blog/2058785