Kotlin + Maven组装:没有主要的清单属性
我有问题使用Maven将Kotlin项目与一些依赖关系组合到JAR文件中。
我如何将项目组装到JAR中:
RightPanel -> MavenProjects -> Lifecycle -> package -> run
当我运行JAR文件时:
java -jar path.jar
我得到以下错误:
no main manifest attribute, in path.jar
我已经添加了像这样的maven-assembly-plugin
:
所以我的插件目录看起来像这样:
src/main/kotlin src/test/kotlin org.apache.maven.plugins maven-assembly-plugin 2.6 make-assembly package single ${main.class} jar-with-dependencies org.jetbrains.kotlin kotlin-maven-plugin ${kotlin.version} compile compile compile test-compile test-compile test-compile
这里定义的main.class
属性:
UTF-8 1.1.51 4.12 ru.icarumbas.main.HelloKt
一些事实:
-
Hello.kt
是入门级的,它很有趣main(...){}
- 当我解压缩JAR它有META-INF文件夹。
版本:
- 平台:Mac OS
- Kotlin版本:1.1.51
- Maven版本:4.0.0
也许我错过了一些东西。 我已经看过很多类似的问题,但他们并没有帮助我。 所以,如果你想看更多的代码,请不要将其标记为重复,并写下评论。 我没有显示我的完整的pom.xml
文件,所以如果你想看到它满的写我。
我有kotlin和maven这样的问题。 我已经解决了以下的方式(Application.kt):
package org.somepackage open class Application { companion object { @JvmStatic fun main(args: Array) { // something.. } } }
所以首先我写了一个主要的kotlin类。
其次,就像在你的情况下,通过以下方式在道具中定义主类:
mvn干净安装命令完成后,我已经得到了必要的someapp-1.0-SNAPSHOT-jar-with-dependencies.jar能够工作。
最后请注意,你正好运行jar-with-dependencies.jar(而不是像app-1.0-SNAPSHOT.jar这样的剥离版本)。