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

  • 相关阅读:
    登录 要求 密码必须包含数字、大写字母、小写字母、特殊字字符4种中至少3种
    job 异步获取
    g++的使用
    extern "c"
    C/C++定义全局变量/常量几种方法的区别
    使用Github管理cocos2dx版本
    二维码限制扫描区域
    Xcode路径改变之后,Cocopods不能使用,一行命令解决
    iOS之精确定时器
    iOS开发/App安全/代码自动混淆笔记
  • 原文地址:https://www.cnblogs.com/kunpengit/p/6247987.html
Copyright © 2011-2022 走看看