2016-05-03 13 views
3

EclipseでSpring STSを使用して、簡単なWebベースのスプリングブートプロジェクトを作成しています。私は、Eclipseで罰金、それを実行することができますが、私はそれは私が手JARファイルとしてエクスポートしようとすると:私のpublic static main void main@SpringBootApplicationアノテーションで、Application.javaに位置していますeclipseでJARファイルとしてSpringブートアプリケーションをエクスポートする

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. 

すべてのMaven依存関係を100回ダブルチェックしました。

私は間違っていますか?

+0

は 'MVN package'はあなたに取り組んで瓶を与えて実行していますか? – chrylis

+0

@chrylis 'mvn'コマンドの実行方法を理解できません。bashはそれを見つけられません。 –

答えて

7

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

まず、you have the repackage goal included in your build setupを確認してから、Maven packageターゲットを使用してください。これを行う最も簡単な方法は、コマンドラインからmvn packageを実行することです(お使いのOS用のMaven CLIパッケージをインストールする必要があります)。 Eclipse内のPOMを右クリックして「Run As」をクリックして、Eclipse内から特定のMaven操作を実行することもできます。

+2

素晴らしい!あなたの答えの最後の部分が私のためのトリックでした。私は、Mavenを使ってpom.xmlを "実行"しなければならないことに気付きませんでした。私は十分にあなたに感謝することはできません。 –

+2

@ViggoLundén喜んでお手伝いします。私は、CIツール(これはいわゆる「ワンステップビルド」を提供する)で使用される「公式の」アプローチであるため、GitのようにCLIからMavenを実行することに慣れておくことをお勧めします。主にクラスパスに関連する微妙なバグはほとんどありません。これは、CLIからプッシュプッシュテストを実行しなければあなたを噛み砕くことができます。 – chrylis

0

これは、プロジェクトフォルダ(プロジェクトワークスペース内)にコマンドプロンプトを表示して、ウィンドウ7/10のマシン上で1行のコマンドです。私は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.jarを作成します。

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

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

関連する問題