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

所以我的插件目录看起来像这样:

 <build> <sourceDirectory>src/main/kotlin</sourceDirectory> <testSourceDirectory>src/test/kotlin</testSourceDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <archive> <manifest> <mainClass>${main.class}</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.version}</version> <executions> <execution> <id>compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>test-compile</id> <phase>test-compile</phase> <goals> <goal>test-compile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> 

这里定义的main.class属性:

 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <kotlin.version>1.1.51</kotlin.version> <junit.version>4.12</junit.version> <main.class>ru.icarumbas.main.HelloKt</main.class> </properties> 

一些事实:

  • Hello.kt是入门级的,它很有趣main(...){}
  • 当我解压缩JAR它有META-INF文件夹。

版本:

  • 平台:Mac OS
  • Kotlin版本:1.1.51
  • Maven版本:4.0.0

也许我错过了一些东西。 我已经看过很多类似的问题,但他们并没有帮助我。 所以,如果你想看更多的代码,请不要将其标记为重复,并写下评论。 我没有显示我的完整的pom.xml文件,所以如果你想看到它满的写我。