【发布时间】:2018-06-17 01:29:11
【问题描述】:
我正在开发一个想要作为 jar 执行的 kotlin 项目。这一切都在 IntelliJ Idea 中完成,我开始使用工件制作 jar。
我遵循的过程是(如创意指南所示):
- 从项目结构中添加工件(作为 jar)
- 构建 jar
- 运行罐子
在这之后,我得到一个
'no main manifest attribute, in ____.jar'
在阅读了几个堆栈溢出问题后我尝试了什么:
- 检查清单文件是否在正确的文件夹中并且在工件中具有正确的路径
- 将代码添加到 jar->manifest 部分的 build.gradle 文件
- 尝试将清单内容移动到资源文件夹的方法
- 检查 jar 是否存在
- 将清单内容移动到不同的文件夹(java、kotlin、out 文件夹)
- 确保清单文件格式正确
以上所有方法均无效。
让我感到困惑的是,即使我将清单文件更改为“不正确”的格式,它仍然会给出相同的错误。工件详细信息中所述的路径是正确的,但即使我故意在清单文件中输入不正确的项目也没有区别。不确定这是否是“真正的”问题,但我也不确定如何解决这个问题
【问题讨论】:
-
请查看此内容stackoverflow.com/questions/32567167/…。尝试相应地更新您的
build.gradle,然后从 Gradle 运行build任务。之后,您应该会在build/libs文件夹中获得一个可执行的jar 文件。 -
我看过这篇文章,但也没有用。我的构建中也没有看到 libs 文件夹
-
项目中的任何地方都不需要清单文件。您唯一需要的是
build.gradle中的这个jar任务。该任务在运行build任务时运行,因此您需要从控制台运行./gradlew build以排除任何 IntelliJ Idea 细节。在这种情况下,您通常会在 Gradle 项目的build/libs文件夹中获得一个 jar 文件。 jar 文件应包含生成的清单文件。一切都与 Java 相同,Kotlins 在这里没有添加任何细节。 -
这对我很有帮助,虽然我以前读过这篇文章。但是我终于解决了问题
标签: intellij-idea jar kotlin