gpt4 book ai didi

java - WAR 文件 : Could not find or load main class, 但它在那里

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:32:21 25 4
gpt4 key购买 nike

我已经使用 Intellij IDEA 构建了一个 WAR 存档工件,其中包含一个用 Kotlin 编写的 Spring Boot MVC 应用程序。

相关内容如下:

$ jar tvf application.war
...
1649 [timestamp] WEB-INF/classes/org/domain/apps/App00HelloMvcKt.class
2087 [timestamp] WEB-INF/classes/org/domain/apps/App00HelloMvc.class
...

App00HelloMvcKt包含fun main(...)App00HelloMvc是Spring Boot应用类。

MANIFEST.MF 包含 Main-Class 条目:

Main-Class: org.domain.apps.App00HelloMvcKt

但是,当我运行它的时候,出现了一个问题:

$ java -jar application.war
Error: Could not find or load main class org.domain.apps.App00HelloMvcKt
Caused by: java.lang.ClassNotFoundException: org.domain.apps.App00HelloMvcKt

据我所知,有了这个目录结构,就不需要额外摸索类路径了。那为什么不能运行呢?


附加信息:这是一个教学项目。我正在尝试从带有嵌入式 Tomcat 的 Spring Boot MVC 应用程序提供 .jsp 页面。根据 Internet,此设置仅在将应用程序打包到 WAR 中并使用 java -jar 运行时才有效。

最佳答案

很可能 IntelliJ“Web 应用程序:存档”不完全理解 Spring Boot 语义。尝试用 Maven Spring Boot Plugin 打包 WAR ,如第 68.2 Packaging Executable Jar and War Files 章中所述:

$ mvn clean package spring-boot:repackage
$ java -jar target/application.war

关于java - WAR 文件 : Could not find or load main class, 但它在那里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51841286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com