我已经用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页面.根据互联网,仅当您将应用程序打包到WAR中并使用java -jar运行它时,此设置才有效.