2016-06-19 4 views
3

どうやら、2つのMavenはGWT用のプラグインがあります。net.ltgt.gwt.mavenとorg.codehaus.mojo GWT Mavenプラグインの違いは何ですか?

この1:

<groupId>net.ltgt.gwt.maven</groupId> 
<artifactId>gwt-maven-plugin</artifactId> 
<version>1.0-rc-6</version> 

と、この1:

<groupId>org.codehaus.mojo</groupId> 
<artifactId>gwt-maven-plugin</artifactId> 
<version>2.8.0-SNAPSHOT</version> 

違いは何ですか?

+0

これは、異なるベンダーのプラグインの違いです。両方のプロジェクトは、執筆の時点で活発に見える。あるものが他のものより優れているかどうかについての議論は、実際にはSOには関係しません。 – Mena

答えて

8

免責事項:私はorg.codehaus.mojoプラグインの元メンテナーであり、net.ltgt.gwt.mavenの著者です。

プラグインは、MavenでGWTを使用する方法とは大きく異なります。私はここで最も重要なものを要約しようとします。

まず、org.codehaus.mojoはGWTの特定のバージョンに関連付けられています。これは、プラグインの新しいバージョンが、GWTの新しいバージョンが相違点を説明するためにリリースされるたびにリリースされなければならないことを意味します。一方、Mavenのドキュメント(mvn gwt:help)などでは、すべてのGWTオプション/フラグを設定プロパティとして公開しています。プラグインでバグが修正された場合、次のプラグインリリースで使用されているものと一致するようにGWTのバージョンを更新する必要があることを意味します。常に最新のGWTバージョンを使用するべきですが、新しいバージョンなどとの互換性がないため、他の依存関係がすぐに更新されない可能性があります。
net.ltgt.gwt.mavenプラグインは2つの最新バージョンのGWTとの互換性を目指していますが、より多くのバージョンと互換性があります(テスト済み/保証対象外です)。つまり、プラグインをGWTから独立して更新することができます。
org.codehaus.mojoプラグインは、gwt-devgwt-user(およびgwt-servlet!)の依存関係をもたらします。これは、プロジェクトの依存関係と矛盾する可能性があります。また、別のgroupIdで独自のforkしたGWTを使用している場合は、プラグインの依存関係からそれらを除外することはできません(com.google.gwtgroupIdを使用するか、依存関係を変更するためにプラグインをforkする必要があります) 。

net.ltgt.gwt.mavenプラグインはとgwt-appのカスタムpackagingです。 MavenでGWTアプリケーションをどのように行うべきかについては、クライアントとサーバ(および共有)のコードを別々のMavenモジュールに分ける方法についてかなりの意見があります(実際にはMaven Way™に従っています。それぞれ依存関係があります)。もちろん、これらのパッケージを使用することを余儀なくされることはありません。適切なデフォルトと慣習を設定することで、POMのコンフィギュレーションを大幅に削減しました。最後に、なぜなら「プロジェクトレイアウト」上の上記独断ビューから、net.ltgt.gwt.mavenプラグインがマルチモジュール(別名反応器)をサポートするように設計されて

ビルド、例えば、gwt:runがなければならない、org.codehaus.mojoプラグインに反しクライアントとサーバーの両方のコードが "生きている"プロジェクトで実行します。 (gwt:runはアグリゲータモジュールでは呼び出せないので)mvn installに依存するようなマルチモジュールビルドではひどいハックにつながり、build-helper-maven-pluginを使用して他のモジュールからクライアントソースを持ち込んでシームレスな開発体験を実現します。

あなたはGWT-のmaven-の原型にthis commitでプラグインとの違い(免責事項:私は著者よ)見ることができますnet.ltgt.gwt.mavenプラグインにorg.codehaus.mojoから切り替えます。

+0

詳細な回答をいただきありがとうございます。私は両方のプロジェクトに携わっている人からの返答を得てうれしいです。第二のものは私が必要とするもののようです。 –

+0

私の答えの問題は、それが明らかに主観的で主観的であることです;-) –

+0

ああ、私たちはGWTのすべてのサンプルを 'org.codehaus.mojo'から' net.ltgt.gwt.maven'に切り替えました:https: //gwt.googlesource.com/gwt/+/a0de97b999468b12d6c19d6a470ca03b2a2b4557%5E%21/(**では 'gwt-app'パッケージを使用していません) –

関連する問題