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包便可顺利执行。

  • 相关阅读:
    在IDEA通过Maven构建Scala项目
    6.Pair RDD操作
    5.RDD的Action操作和持久化persist()
    29.Spark SQL发展史
    AirFlow初始化的时候遇到 Global variable explicit_defaults_for_timestamp needs to be on (1) for mysql
    4.RDD操作之Transform
    3.RDD详解和创建RDD方式
    28.Spark中action的介绍
    2.Spark 2.x 集群部署和测试
    Repeater分页
  • 原文地址:https://www.cnblogs.com/kunpengit/p/6247987.html
Copyright © 2011-2022 走看看