我有一个项目,包含一个单独的模块,和一些依赖。 我想在一个单独的目录中创建一个JAR,其中包含编译后的模块。此外,我希望在我的模块旁边有依赖项。
无论我如何扭曲IntelliJ的“构建JAR”过程,我的模块的输出都是空的(除了一个META-INF文件)。
我有一个项目,包含一个单独的模块,和一些依赖。 我想在一个单独的目录中创建一个JAR,其中包含编译后的模块。此外,我希望在我的模块旁边有依赖项。
无论我如何扭曲IntelliJ的“构建JAR”过程,我的模块的输出都是空的(除了一个META-INF文件)。
当前回答
我试图从一个多模块的Kotlin应用程序构建一个jar,并得到了臭名昭著的“没有主清单属性”错误。在src/main/resources中创建清单目录也不能工作。
相反,它直接在src中创建:src/META-INF/MANIFEST.MF。
其他回答
我尝试了大部分给出的答案,但在我的情况下,“out”文件夹(其中包含jar文件)没有被创建。这就完成了任务:
Build -> Build Artifacts ->(你会看到类名)-> Build
现在,“out”文件夹被创建,jar文件在其中。
8.1.3想法
Jar是可以的,因为在'output'目录(project/out/production//)中有编译输出
我猜,你必须在构建jar之前运行'make'
对于依赖项,只需检查“show library”并选择您想要的。
其他一些答案是无用的,因为一旦您从maven项目重新导入IntelliJ IDEA项目,所有的更改都将丢失。
jar的构建需要由运行/调试配置触发,而不是由项目设置触发。
Jetbrains在这里描述了如何实现这一目标:
https://www.jetbrains.com/help/idea/maven.html
向下滚动到名为“为Maven目标配置触发器”的部分。
(他们的描述唯一的缺点是,他们的截图是默认的黑白配色方案,而不是超级棒的darcula主题。啊!)
所以,基本上,你要做的就是打开“Maven项目”面板中,你发现感兴趣的项目,(在你的情况下,项目构建jar,)在你找到你想要的Maven目标执行,(通常是“包”的目标创建jar,)你打开上下文菜单,(右键单击Windows机器),将会有一个“运行/调试之前执行…”选项,您可以选择,它会把你的手从那里。真的很容易。
如果你试图用kotlin构建一个jar,你需要创建一个src/main/java文件夹,并使用这个文件夹作为META-INF文件夹的位置。
对于那些像我一样从图片中受益的人:
File ->项目结构