web-dev-qa-db-ja.com

Spring BootアプリケーションをEclipseのJARファイルとしてエクスポートする

EclipseでSpring STSを使用して、シンプルなWebベースのSpring Bootプロジェクトを作成しています。 Eclipseで問題なく実行できますが、JARファイルとしてエクスポートしようとすると、次のようになります。

rg.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.

俺の public static void mainに位置しています Application.Java、 とともに @SpringBootApplicationアノテーション。

すべてのMaven依存関係を100回再確認しました。

何が悪いのですか?

10
Viggo Lundén

ほとんどの場合、組み込みのEclipseエクスポーターを使用してjarを生成します。jarには、プロジェクトで実際に生成されたターゲットファイルのみが含まれます。 「ファット」(スタンドアロン実行可能)jarを作成するには、Spring Boot MavenまたはGradleプラグインを使用してjarを「再パッケージ」する必要があります。

まず、 ビルド設定にrepackage目標が含まれている であることを確認してから、Maven packageターゲットを使用します。これを行う最も簡単な方法は、コマンドラインからmvn packageを実行することです(OSにMaven CLIパッケージをインストールする必要がある場合があります)。また、EclipseでPOMを右クリックして[別のユーザーとして実行]をクリックすると、Eclipse内から特定のMaven操作を実行できます。

22

これは、ウィンドウ7/10マシンでの単一行コマンドであり、プロジェクトフォルダー(プロジェクトワークスペース内)へのコマンドプロンプトを表示します。私はEclipseを使用しませんIDE POMのMavenの目標を使用できますが、そこでMavenの目標を使用することもできます。ウィンドウマシンでは、エクスポートと実行にはcmd.exeを使用します。

mvnw clean package

uNIXカーネルベース

./mvnw clean package

ワークスペース内に移動し、プロジェクトのルートフォルダーに移動する必要があります。 Mavenラッパーmvnwが表示されます。この場合、mavenをインストールする必要はなく、同じレベルの.mvnフォルダーがそのために必要なjarを提供します。プロジェクトの場合

D:\workspace\Zuteller Workspace\zusteller>mvnw clean package

zusteller-0.0.1-SNAPSHOT.jartargetフォルダー内の同じレベル。

D:\workspace\Zuteller Workspace\zusteller>Java -jar target\zusteller-0.0.1-SNAPSHOT.jar

自己完結型アプリケーション(組み込みTomcat)を実行し、localhost:8080/yourプロジェクトでアクセスできます。

10
vimal krishna