2016-12-11 71 views
3

は私が持っているこのようなマルチモジュールのMavenプロジェクト:mvnを起動するspring-boot:親モジュールから実行しますか?

私の親
--myドメイン
--myサービス
--myアプリこれは、春のブートモジュールがある< < <

私が最初「マイアプリ」ディレクトリにCDにせずに親モジュールから直接mvn spring-boot:runのコマンドを実行します。

私はこれがspring-boot-maven-pluginの設定に関連していると思っていますが、私はそれを正しいものにすることはできません。

  1. 使用spring-boot-starter-parentをしてspring-boot-maven-pluginとそうでない場合は、デフォルト設定では、私のアプリのプラグインセクションに含ま:

    私は、次の試してみました。
    で親結果からmvn spring-boot:runを実行: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.4.2.RELEASE:run (default-cli) on project my-parent: Unable to find a suitable main class, please add a 'mainClass' property -> [Help 1] in the parent module


  2. spring-boot-starter-parentを使用しないでください。
    depManagementにspring-boot-dependenciesを定義します(elewhereを参照)。
    spring-boot-maven-pluginをプラグイン管理セクションmy-parentに定義し、my-appモジュールのプラグインセクションにプラグインを含めます。
    実行中のmvn spring-boot:親から実行すると、#1と同じエラーが発生します。
    目標org.springframework.bootを実行できませんでした。spring-boot-maven-plugin:1.4.2.RELEASE:run cli)プロジェクトに私の親:適切なメインクラスを見つけることができません 'mainClass'プロパティ - > [ヘルプ1]を追加してください

  3. spring-boot-starter-parentを使用しないでください。
    depManagementにspring-boot-dependenciesを定義します(elewhereを参照)。
    プラグインセクションのspring-boot-maven-pluginmy-appと定義します。 MVNスプリング・ブートを実行
    :親の結果から実行:
    上記のすべての場合において No plugin found for prefix 'spring-boot' in the current project and in the plugin groups

、私のアプリのディレクトリからmvn spring-boot:runを実行すると、正常に動作します。

私はこの作業を行う方法があると思います。従来のnon-Boot Springプロジェクトでは、プラグインを設定して、親からmvn tomcat7:run-warを実行し、webappサブモジュールが期待どおりに起動できるようにしました。

答えて

7

次のように追加することで可能です。私のアプリ(春ブーツモジュール)POMで

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-maven-plugin</artifactId> 
     <configuration> 
      <skip>true</skip> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

そして、あなたの 中:

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
     <fork>true</fork> 
     <skip>false</skip> 
    </configuration> 
    <executions> 
     <execution> 
     <goals> 
      <goal>repackage</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

今、あなたは、プロジェクトのルートに実行行うことができますの

mvn -pl my-app -am spring-boot:run 

その他の参照:

+0

ありがとう! – Justin

関連する問題