WARファイルは:見つけるか、メインクラスをロードしますが、それはありませんでした。

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

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=210068&siteId=1