55

これは複雑な質問であることは知っていますが、バグが多く、設計が非常に悪いシステムがすでに稼働している場合、どちらが優れているかを知りたいと思います。本当にめちゃくちゃ。

実際、私はすでにこのプロジェクトをMavenに変換していて、多くの問題に直面しているので、これを求めています。フォルダー構造を調整し、会社で作成されたひどいフレームワークをプロジェクトから分離し(jar libに変換されました)、プロジェクトを常に壊していた多くの詳細を修正し、すべてを作成するようにPOM.xmlを構成する必要がありましたAntはすでに実行していて、アプリケーションで実際にバージョンとして使用されているライブラリを検出します(ライブラリの大部分はバージョン番号なしで名前が変更され、マニフェストファイルは空でした)。

まあ、それは本当に地獄でした。この作業中に私は夢中になり、いつも私に続いていた質問は、「そして、それをアイビーに変換した場合、もっと簡単になるだろうか?」でした。

私はIvyと一緒に仕事をしたことはありませんが、Antと一緒に仕事をしていることを知っているので、Mavenよりもプロジェクトを適応させる方が簡単です。一方、Mavenは単語全体ではるかによく使用されており(私は間違っていますか?)、これには理由があるはずです!

だから私の質問があります:

  • Jenkins / Hudsonとの統合:Ivyを使用すると、Mavenを使用するのと同じくらい簡単ですか?
  • ソナープラグイン:上記と同じ質問。簡単に統合できますか?
  • Eclipse用プラグイン:これはMavenの非常に弱い点です。プラグインはひどいですが、私はアイビーのものを知りません。
  • デプロイプロセス:すべてが構成されたら、Mavenを使用してプロジェクトをデプロイおよび公開するのは非常に簡単です。そしてアイビーと?
  • 変換:プロジェクトをMavenに変換した私の経験はひどいものでしたが、システムは役に立ちませんでした。私が持っていたオプションは、Mavenが新しいプロジェクト、作成されてからMavenと連携するプロジェクトにとっては素晴らしいことでしたが、大規模で組織化されていないプロジェクトがある場合は適切な選択ではありません。私が間違っている?
  • プラグイン:POM.xmlに設定するプラグインがたくさんあること。アイビーにはたくさんの選択肢がありますか?
  • 人気:どちらがより人気がありますか?どちらがより使用され、その理由は何ですか?

まあ、これです。どうもありがとう!

4

1 に答える 1

82

まず、IvyWebサイトからIvy/Mavenの比較を読んでください。重要な情報:

まず、最も重要な違いは、それらがまったく同じ種類のツールではないということです。Apache Mavenはソフトウェアプロジェクト管理および理解ツールですが、Apache Ivyは依存関係管理ツールにすぎず、人気のあるビルド管理ツールであるApacheAnt™と高度に統合されています。したがって、おそらくもっと興味深い比較は、Apache Ant+IvyとApacheMavenを比較するでしょう。ただし、これは、依存関係の管理のみに焦点を当てたこのページの範囲を超えています。

Ivyは依存関係管理機能をAntに追加するため、実際に使用するビルドシステムに関する質問は次のいずれかです。

  • Ivy/Antを使用する
  • Mavenに移行する

ビルドですでにAntを使用している場合は、ビルドスクリプトを別のビルドシステムに移植する必要がないため、Ivyの方が簡単に移行できます。

Mavenに移行する場合は、ビルドスクリプトを書き直してすべてをMavenizeし、依存関係の管理を構成する必要があるため、より多くの労力が必要になります。

また、依存関係管理の構成をIvy / AntからMavenに移植することを決定した場合は、その方向に移行する方が簡単です。したがって、Ivyの依存関係管理は、長期的にはMaven構成に移行するための優れた足がかりになります。

于 2013-03-22T03:36:16.253 に答える