1.如何正确使用IntelliJ构建jars包?|Java Debug 笔记

1.如何正确使用IntelliJ构建jars包?|Java Debug 笔记

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看<活动链接>

问题:

我有一个包含单个模块和一些依赖项的项目。我想在一个单独的目录中打包一个包含已编译模块的jar。另外,我希望在我的模块中包含依赖项。
无论我如何尝试IntelliJ的“build jar”功能,模块输出都是空的(除了一个META-INF文件)。

热门答案:


答案1

这里有关于如何在IntelliJ 10上构建jar的博客。

已上的流程是设置打包jar保存的位置。要实际打包并保存它,请执行以下操作:
提取目标jar
Build | Build Artifact | Build尝试在下面的目录找jar后缀文件ProjectName | out | artifacts | ProjectName_jar | ProjectName.jar

答案2:

这在2017年仍是一个问题。我希望我的回答能帮助一些人!我发现在IntelliJ 2017.2下有两种方式可以打包。
1.通过IntelliJ构建

  • 点击project
  • 创建一个新的打包任务
  • 选择main class,记得更改资源目录

你必须更改资源目录:

<project folder>\src\main\java

把 "java" 替换为 "resources"

<project folder>\src\main\resources`

替换完后:

  • 然后选择您想要打包在jar中或jar文件包含的依赖项
  • 要构建您的包,点击build artifacts并选择“rebuild”。它将创建一个包含jar文件及其依赖项的“out”文件夹。

2.使用maven-assembly-plugin插件在pom文件bulid中添加

build>        <plugins>            <plugin>                <artifactId>maven-assembly-plugin</artifactId>                <configuration>                    <finalName>ServiceCreate</finalName>                    <appendAssemblyId>false</appendAssemblyId>                    <archive>                        <manifest>                            <mainClass>com.svt.optimoo.App</mainClass>                        </manifest>                    </archive>                    <descriptorRefs>                        <descriptorRef>jar-with-dependencies</descriptorRef>                    </descriptorRefs>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <configuration>                    <source>1.8</source>                    <target>1.8</target>                </configuration>            </plugin>        </plugins>    </build>
  • 创建一个新的 run/debug configuration
  • 选择application
  • 填写参数
  • 添加构建后最后执行的“assembly:single”maven目标
  • 保存,然后点击run
  • 这个流程将在“target”文件夹下创建jar文件

文章翻译自Stack Overflow

推荐阅读