zoukankan      html  css  js  c++  java
  • 关于创建可执行的jar文件(assembly)

    java利用maven生成一个jar包,如何自动生成清单属性文件(MANIFEST.MF),如何解决jar依赖问题?

    办法很简单:

    只需在pom.xml文件中配置如下plugin即可:

       <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <manifest>
                                <addClasspath>true</addClasspath>
                                <mainClass>cn.com.inas.south.main.MainTaskExcuter</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
    

      

    运行mvn package命令即可生成MANIFEST.MF

    该文件中包含了jar所需的依赖,以及入口类。

    那如何把依赖的源代码也打到这个jar包中呢,这个时候,maven-assembly-plugin插件就派上用场了

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <archive>
                            <manifest>
                                <addClasspath>true</addClasspath>
                                <mainClass>cn.com.inas.south.main.MainTaskExcuter</mainClass>
                            </manifest>
                        </archive>
    
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
    
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    

      

    注意上面的jar-with-dependencies,这样就会把jar包和它的所有runtime依赖添加到一个jar包中了

     运行上面的命令,就会在target目录下生成**-jar-with-dependencies.jar

     最后java -jar 运行jar包便可顺利执行。

  • 相关阅读:
    求解未知矩阵的一些方法
    数二2019-19真题最简单的解法
    极坐标转化为参数方程的题目
    隐函数的不定积分
    Go 语言高性能编程
    1457. Pseudo-Palindromic Paths in a Binary Tree (M)
    0754. Reach a Number (M)
    1345. Jump Game IV (H)
    0091. Decode Ways (M)
    0498. Diagonal Traverse (M)
  • 原文地址:https://www.cnblogs.com/kunpengit/p/6247987.html
Copyright © 2011-2022 走看看