本文正在参加「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