mvn install
他のサブモジュールを構築/起動するとき(特にブランチを頻繁に切り替えるとき)に、サブモジュールの正確なバージョンがどのバージョンで使用されるかわからないように感じるため、マルチモジュールプロジェクトでの使用を避ける傾向があります。私はよく
使う傾向があります。mvn package
mvn verify
私は現在、 Mavenのベストプラクティスを使用したいFOSSプロジェクト(さらにMavenの原型)でこの問題に直面しています。
これは、他のモジュールに依存するwebappサブモジュールを備えたマルチモジュールプロジェクトであり、私が心配しているのは、(または)とともに開発が容易なことです。mvn jetty:run
jetty:start
現在、2つのプロファイルを定義しました。
prod
、デフォルトのものは、他のサブモジュールへの依存関係を宣言します。dev
一方、他のモジュールに依存せずjetty-maven-plugin
、他のモジュールの出力ディレクトリをextraClasspath
およびとして追加してを構成しますresourcesAsCSV
。
そうすれば、サーバーを停止することなく、Webアプリをリロードして、mvn package
一度だけすばやく繰り返すことができます。cd webapp && mvn jetty:start -Pdev
AFAICTは、まさにextraClasspath
その目的のために追加されました(JETTY-1206)。
Maven 3を使用しているときにreactorビルドからモジュールを解決できる点を指摘しましたtomcat7-maven-plugin
(そして、同じものをJettyに持ち込むための問題を提起しました:JETTY-1517)が、それではほとんど解決できません
dev
プロファイル内から他のサブモジュールへの依存関係を削除していなかった場合は、後でそれらの依存関係を使用しなくmvn install
ても、POMの検証が失敗しないように、最初に実行する必要がありました。jetty:start
だからここに私の質問があります:mvn install
本当にそれは一般的ですか?または、リアクター内の依存関係をprod
プロファイルにのみ配置するという私のアプローチはOKですか?
(私はとまったく同じ問題を抱えていることに注意してgwt-maven-plugin
ください。Tomcatに切り替えるように言わないでください。実際には機能しません。詳細はこちらをご覧ください)