intellij-idea - 使用 IntelliJ IDEA 创建 Kotlin jar 时出现“无主清单属性”
问题描述
从我的 Kotlin 代码创建一个 jar 并运行它时,它会显示“No main manifest attribute”。查看 manifest.mf 时,它具有以下内容:
Manifest-Version: 1.0
在查看源中的文件时,它具有以下内容:
Manifest-Version: 1.0
Main-Class: MyMainClass
手动将源清单复制到 jar 时,它运行完美。
解决方案
我在使用 Gradle 和 Kotlin 时遇到了这个错误。我必须在我build.gradle.kts
的显式清单属性中添加:
tasks.withType<Jar> {
manifest {
attributes["Main-Class"] = "com.example.MainKt"
}
}
从gradle 文档中,最好创建一个 fatJar 任务来包含所有运行时依赖项,以防遇到java.lang.NoClassDefFoundError
错误
推荐阅读
- terminal - 需要水平合并两个 .TXT 文件,没有空格,结果在终端中不可见
- git - 有没有办法从 git 获得预合并钩子或类似行为?
- python - python 3 和相关导入的问题
- c++ - 复杂长的老式演员表
- javascript - Lightgallery 不会在 wordpress 中动态加载图库
- python - 基于相同的日期时间将具有值的列从一个数据帧添加到另一个数据帧
- c++ - 试图从 C++ 中的函数“splitoList”将值附加到类 List
- excel - 文本到列日期格式问题
- java - 在为 Android 工件生成的 POM 中排除 Kotlin stdlib 的 testImplementation 依赖项
- java - 使用 resttemplate 编写单元测试以获取流响应