CBlew:
私はKotlinで書かれた春ブーツMVCアプリケーションが含まれているのIntelliJ IDEAでWARアーカイブアーティファクトを構築しています。
ここでは、関連する内容です:
$ 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
春ブートアプリケーションクラスです。
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
私はそれを理解したように、このディレクトリ構造で、クラスパスで追加の不器用は必要ありません。そして、なぜそれが実行できないのですか?
追加情報:これは教育プロジェクトです。私は奉仕しようとしている.jsp
埋め込まれたTomcatで春ブーツMVCアプリケーションからページを。あなたはWARにアプリをパッケージ化し、それを実行した場合、インターネットによると、この設定はのみ動作しますjava -jar
。
チャールズDowbecki:
ほとんどのIntelliJの「Webアプリケーション:アーカイブは、」完全に春ブーツの意味を理解していません。WARパッケージ化してみMavenの春ブーツプラグインの章で説明のように、実行可能JARおよび戦争ファイルをパッケージ68.2:
$ mvn clean package spring-boot:repackage
$ java -jar target/application.war