Intellij Java 2016和Maven:如何在JAR中嵌入依赖关系?

这个问题在这里已经有了答案:

  • 我怎样才能创建一个可执行的JAR与依赖使用Maven? 33个答案

  • 我终于设法用Intellij Java生成了这个JAR,下面是我的工作方式:

  • 在pom.xml文件中添加依赖关系
  • 转到文件 - >项目结构 - >工件 - >新建 - > JAR - >从模块与依赖关系
  • 选择Main类并单击OK
  • 在你的项目中,在src / main中创建“resources”文件夹
  • 在这个“resources”文件夹中移动“META-INF”(带有MANIFEST.MF)文件夹
  • 去构建 - >构建工件来构建JAR
  • 编辑

    更好的(也是更简单的方法)是在pom.xml文件中添加以下行:

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>your.MainClass</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>
        </plugins>
    </build>
    

    然后使用“clean”和“package”maven命令。

    上面的最后3步(关于MANIFEST.MF)似乎仍然是强制性的。


    好的,所以你基本上想创建一个包含所有自己的依赖关系(通常,依赖关系是外部的)的“fat jar”(有时称为assembly)。

    你需要为此使用Maven插件。 下面是一个样例程序集插件配置jar-with-dependencies:

    <project>
      ...
      <build>
        ...
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.6</version>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
            </configuration>
            ...
    </project>
    

    然后,只需运行

    mvn package
    
    链接地址: http://www.djcxy.com/p/29621.html

    上一篇: Intellij Java 2016 & Maven : how to embed dependencies in JAR?

    下一篇: How to make a "fat jar" of a Maven project?