zoukankan      html  css  js  c++  java
  • Maven 生成可执行的jar包

    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包

  • 相关阅读:
    huffman编码压缩算法(转)
    ReLU 和sigmoid 函数对比以及droupout
    分类中数据不平衡问题的解决经验(转)
    C++ 虚函数表解析
    const 和宏的区别
    static小结
    javascript技巧字典【转藏】
    七个心理寓言【转】
    购物车悬浮 + 购物数量显示
    好看的图标
  • 原文地址:https://www.cnblogs.com/0820LL/p/10591485.html
Copyright © 2011-2022 走看看