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
文件,所以如果你想看到它满的写我。