[解決済み】なぜAntやMavenの代わりにGradleを使うのか?[解決済み]
質問
Javaをターゲットにした別のビルドツールは、本当に何をもたらすのか?
他のツールではなくGradleを使用している場合、その理由は?
解決方法は?
を使用していません。 グラドル を、自分自身で怒っている(今のところ、おもちゃのプロジェクトだけですが) [筆者はGradleをおもちゃのプロジェクトにしか使っていないという意味であり、Gradleがおもちゃのプロジェクトであるという意味ではない。] とはいえ、使用を検討する理由は、AntやMavenの不満からでしょうね。
私の経験では、Antはしばしば書き込み専用です(はい、私はそれが可能であることを知っている 美しくモジュール化された、エレガントなビルド しかし、ほとんどの人はそうではないのです。) 複雑なビルドを本当にポータブルにするためには、細心の注意が必要です。その命令的な性質から、ビルド間で設定が重複してしまうことがあります (マクロを使えば解決しますが)。
Mavenは逆のアプローチで、Mavenのライフサイクルと完全に統合することを期待します。Mavenは、Antで持っていた多くの自由を取り除くので、経験豊富なAntユーザーは、これを特に不快に感じるでしょう。例えば ソナタイプブログ Mavenに対する批判とその対応を列挙しています。
Mavenのプラグイン機構は非常に強力なビルド構成を可能にし、継承モデルは、企業全体のビルド構成をカプセル化した小さな親POMのセットを定義でき、個々のプロジェクトはそれらの構成を継承して軽量化できることを意味します。Mavenの設定は非常に冗長であり(Maven 3はこれに対処することを約束していますが)、もしMavenの方法でないことをしたいのであれば、プラグインを書くか、手間のかかるAnt統合を使わなければなりません。私はMavenのプラグインを書くのが好きですが、多くの人がその労力に反対していることを理解しています。
Gradleは、AntとMavenの間のスイートスポットをヒットすることを約束します。それは アイビー のアプローチで依存関係を解決します。設定よりも慣習を重んじますが、Antタスクも第一級市民として含みます。また、賢明にも、既存の Maven/Ivy リポジトリを使用することができます。
もし、あなたがAnt/Mavenのペインポイントにぶつかり、行き詰まっているのなら、Gradleを試してみる価値はあるでしょう。しかし、プディングの証明は食べることにあるので、製品がもう少し成熟し、他の人があらゆるねじれを解決するまで、私は判断を保留します(彼らは理由のためにそれをブリーディングエッジと呼びます)。しかし、私は自分のおもちゃのプロジェクトでこれを使い続けるつもりです。
関連
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] JavaBeanとは何ですか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] java.lang.UnsupportedClassVersionError を修正する方法。サポートされていないメジャー.マイナーバージョン
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】なぜJavaの+=, -=, *=, /=複合代入演算子はキャスティングを必要としないのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] javascriptでExpression言語を使うには?
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] java.sql.SQLRecoverableException: IO エラーです。NL Exceptionが発生しました
-
[解決済み] Javaでdoubleをfloatに変換する
-
[解決済み] .lengthが解決できない、またはフィールドでない
-
[解決済み] Mavenは理論的にも実際にも何をするのか?どんな時に使う価値があるのでしょうか?[クローズド]