1

私は開発に Java/Eclipse を使用していますが、ant や maven などの従来のビルド ツールを実際に使用したことはありません。私は通常、Eclipse を使用してプロジェクトを構築することに頼っているだけで、コマンドラインを使用することはめったにありません。ant/maven を理解するのに時間をかけたくありませんが、Eclipse が .classpath ファイルを介して ant/maven のすべての機能を他の設定に置き換えることができるかどうかを知りたいです。

(アリの学習を本当に簡単にするチュートリアルを提案しないでください)。

4

2 に答える 2

3
  • Eclipse は、.projectおよび.classpathファイルに基づいてプロジェクトを構築する方法を認識しています。

  • build.xmlは、Ant が使用するビルド規則のデフォルトのファイル名であるため、パラメーターを指定せずに実行するantと、このファイルを使用して何をすべきかが判断されます。

  • pom.xmlは Maven プロジェクトを記述するデフォルトのファイル名であるため、 を実行するmvn compileと、このファイルを使用してプロジェクトのビルド方法が特定されます。

  • Eclipse は、Ant ビルド ファイルまたは POM ファイルに基づいてプロジェクトをインポートし、適切な.projectand.classpathファイルを作成できます。

Eclipse、Ant、Maven はすべて、互いに置き換えることのできない異なるツールです。それらにはいくつかの重複する機能がありますが、いくつかの独自の機能もあります。

コマンド ラインを使用してプロジェクトをビルドできることは、非常に役立つスキルであり、優れたプログラマーであることの一部です。Programmer Competency Matrix では、コマンド ラインを使用してソフトウェアをビルドできることはレベル 1 (レベル 0、1、2、3 のうち) と見なされます。これができない場合、それはあまり良くありません。 http://www.indiangeek.net/programmer-competency-matrix/

Mavenを学ぶことを強くお勧めします。

于 2013-04-13T04:43:09.747 に答える
1

アプリケーションが Eclipse 以外にほとんど存在しない場合は、そのような方法で Eclipse を使用し続ける必要があります。しかし、Eclipse は開発者ツール (コードを書く人のような開発者) です。最も些細なプロジェクト以外は、開発者以外の役割に対処する必要があります。アプリケーションはライフサイクル全体を通過します。実際、プロジェクト管理の観点から、コーディング、コンパイル、依存関係の組み立て、パッケージ化、展開などの多くのフェーズを通過する成果物の観点から、またはその他の観点から、ライフサイクルのさまざまな軸が存在します。

フェーズを横断するこれらの成果物を見ると、これらのステップの多くは Eclipse 内から (手動で) 実行できます。繰り返しますが、それがうまくいった場合は、賞賛してください。ただし、自動化が欠けており、いくつかのステップ (フェーズ) では、Eclipse は適切なツールではありません。例: 継続的インテグレーションは、Eclipse が構築されたものではありません。CI サーバーは、ソースをチェックアウトして、ゼロからビルドすることを希望する場合があります。依存関係などを見つける必要があり、Eclipse のファイルに基づいてそうすることができますが、Eclipse への.classpath依存関係が導入されます。さて、私は大企業がまさにその方法でそれを行っているのを見てきましたが、これも Eclipse が意図したものではないため、少しぎこちないです。

代わりに、ライフサイクル全体*を処理するのに優れたツールがあります。

「全体」は非常に主観的なものであることに注意してください。開発者の観点から見ると、ライフ サイクルは段階的にうまく分割されているかもしれませんが、大規模な組織の他の人々は、ライフ サイクル フェーズの任意の内訳で自分の職務が過小評価されていることに気付くかもしれません。

Maven または Gradle はそのようなツールです。それらを、多数のステーションを備えた組立ラインと見なしてください。開発者はステーションの 1 つで Eclipse を使用していますが、組立ラインの下では動き続けています。CI は別のステーションで、Bamboo、Hudson、Jenkins などを使用していますが、その下ではまだ作業中の組立ラインです。Eclipse 内では、m2e プラグインは、Eclipse とアセンブリ ライン Maven の間のコネクタです。

この問題に対する別のアプローチは、スクリプトを使用して、Eclipse で実行している手動のステップを置き換えるか、それらを結合するか、またはそれらを補完することです。使用できる言語は明らかに多数ありますが、ビルド ツールの分野では、Ant の機能がまさにこの目的に適しているため、Ant が非常に人気があります。

あなたがプロのソフトウェア工場 (単一の開発者プロジェクトの場合はすでにそうかもしれません) であれば、組み立てラインが必要です。Maven または Gradle はすぐに使用できるものを提供します。上流に泳ぎたい場合は、Ant などを使用して独自に構築します。そして、この分野で特に要件がない場合は、Eclipse で手動で作業を続けてください。

Ant は XML で定義されていますが、伝統的なシーケンシャル プログラミング言語の多くを備えているため、開発者として自然に理解できます。Maven と Gradle はアプローチが異なるため、学習曲線が急になります。しかし、それは間違いなく価値があります。彼らのやり方でやれば、物事は簡単になり、アセンブリラインに追加したい他のすべてのものをコーディングする必要はありません. この手作りのスクリプトは常に小さく始まりますが、決してそのままではありませんよね? :)

これらすべてに加えて、Maven は依存関係の解決にも非常に優れていることに言及したいと思います。それが最もよく知られていることですが、それはこの質問の目的ではありません。実際、それはあなたのためにできることのごく一部にすぎません.

于 2013-04-13T04:41:58.517 に答える