我按照此处的文档 - https://docs.grails.org/latest/guide/deployment.html 使用 grails 6 和 java 11 创建并运行可执行 jar。
重现步骤:
创建一个新应用程序
grails create-restapi myapp
组装起来
./gradlew assemble
执行jar
java -jar build/libs/myapp-0.1-plain.jar
但我收到以下消息:
no main manifest attribute, in build/libs/myapp-0.1-plain.jar
即使按照其他帖子在 build.gradle 中添加了以下内容之后
jar {
manifest {
attributes 'Main-Class': 'myapp.Application'
}
}
我收到以下错误:
Error: Could not find or load main class myapp.Application
Caused by: java.lang.NoClassDefFoundError: grails/boot/config/GrailsAutoConfiguration
我在这里得到了一个问题的答案:
https://github.com/grails/grails-core/issues/13055
我应该运行“./gradlew bootWar”而不是“./gradlew assemble”,而不是文档!
java -jar build/libs/myapp-0.1-plain.war 之后运行良好。