[英]"No main manifest attribute" when creating Kotlin jar using IntelliJ IDEA
从我的 Kotlin 代码创建 jar 并运行它时,它显示“没有主要清单属性”。 查看 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 文档中,如果遇到java.lang.NoClassDefFoundError
错误,最好创建一个 fatJar 任务来封装所有运行时依赖项
1.在构建脚本中添加如下任务定义
tasks.jar {
manifest {
attributes["Main-Class"] = "MainKt"
}
configurations["compileClasspath"].forEach { file: File ->
from(zipTree(file.absoluteFile))
}
}
对于 Spring 引导应用程序:
build.gradle.kts 中对我有用的 (gradle kotlin)
plugins {
id("org.springframework.boot") version "2.6.7"
}
apply(plugin = "io.spring.dependency-management")
springBoot {
mainClass.set("com.example.Application")
}
通过阅读此处找到的 spring-boot 文档找到了这一切
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.