码迷,mamicode.com
首页 > 编程语言 > 详细

Maven 生成可执行的jar包

时间:2019-03-25 01:23:17      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:apache   需要   pre   直接   pac   bsp   resource   transform   config   

maven 默认打包生成的 jar 包是不能够直接运行的,因为带有 main 方法的类信息不会添加到 manifest 中,即打开 jar 文件中的 META-INF/MANIFEST.MF 文件,将无法看到 Main-Class 一行。

为了生成可执行的 jar 文件,需要借助 maven-shade-plugin 插件,配置该插件如下

在项目 pom.xml 文件的 <project> <build> <plugins> 下面新建元素 <plugin>

在 <mainClass> 元素中指明 main class 这样项目在打包是会将该信息放到 MANIFEST.MF 中。

<project>
...
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.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>com.lilin.mvnbook.helloworld.HelloWorld</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

执行 mvan clean install

技术图片

生成的结果

技术图片

 打开 hello-world-1.0-SNAPSHOT.jar 的 META-INF/MANIFEST.MF 文件可以看到 Main-Class 的值,如下

技术图片

运行jar包

技术图片

 

Maven 生成可执行的jar包

标签:apache   需要   pre   直接   pac   bsp   resource   transform   config   

原文地址:https://www.cnblogs.com/0820LL/p/10591485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!