9

これはばかげた質問のように聞こえますが、私はこれと本当に混乱しています。私はMavenを使用したことはありませんが、プロジェクトの構築に使用されていることは知っています。

だから、私は質問があります:Eclipseで(Mavenなしで)プロジェクトをビルドできるのに、なぜMavenを使用してプロジェクトをビルドする必要があるのですか?eclipseプロジェクトをJARとしてエクスポートし、必要なライブラリとすべてを含めるだけです。

githubからプロジェクトをダウンロードするとします。これで、そのプロジェクトをeclipseにインポートし、JARとしてエクスポートして、機能を使用できます。では、なぜすべての人がMAVENを使用してプロジェクトを構築し、バイナリを生成して使用することを提案するのでしょうか。

4

3 に答える 3

12

まず第一に、全員が Eclipse を使用しているわけではなく (同じチーム内であっても)、IDE が異なればわずかに異なる成果物 (JAR ファイル) が生成される可能性があります。

Maven の利点の 1 つは、プロジェクトをビルドするだけではないということです。

  • 構成よりも慣習が優先され、プロジェクトの「標準」レイアウトが提案されます
  • 特定のバージョンを使用して、プロジェクトに必要なすべての依存関係を収集できます (「lib/log4j.jar」のようなものとは対照的に、バージョンは指定されていません)
  • コンパイルされたコードまたはソースコードを含む JAR、javadoc、WAR など、さまざまなアーティファクトを作成できます。
  • IDE の外部で、多くの場合、継続的インテグレーションサーバーで実行できます。

小さなプロジェクトでもMavenを使用することをお勧めします:)

于 2013-01-18T09:24:36.747 に答える
7

自動化されたツールを使用してプロジェクトを自動的にビルドする必要がすぐにあり、それを支援する Eclipse はありません。

すぐに必要になる可能性のあるもの:

  • リポジトリへのコミットごとにプロジェクトをビルドする
  • 継続的インテグレーション ツール UI のどこかでワンクリックでプロジェクトをビルドします
  • ユーザーは Eclipse について知らないか気にしないかもしれませんが、UI を使用してビルドを発行する方法は知っています。
于 2013-01-18T09:10:44.383 に答える
5

単純なリアルタイム シナリオを想定する

開発環境 -> 本番環境 (今はテストを終了)

開発環境では、開発者向けのすべてのツールを使用して、執筆の労力を削減し、ロジックの作業により多くの時間を費やすことができます。

パーツの処理が完了したら、バージョン コントロールにチェックインします。

これは今すぐ本番環境に移行する必要があります。バージョン管理から本番環境まで最新バージョンをチェックアウトします

さて、あなたもここで日食をすることはできません!あなたは何も開発するつもりはないので。この場合、単純な pom.xml が常に使用され、Maven というツールが使用されます。

常にではありませんが、開発者がバイナリを準備します。したがって、開発者ではない誰かがあなたのアプリを展開していると仮定してください。彼にEclipseを開いてexport blah blah blahと言う代わりに、このコマンド/バッチファイルを実行してください。そのバッチ ファイルには明らかに maven コマンド (mvn コンパイル、mvn パッケージ) などが含まれます。

最後に、Eclipse は開発者の開発時間を短縮します。なぜなら、Eclipse によって短縮できる単純なタイプミスが原因で、Maven を何度も実行することになる可能性があるからです。本番環境では、1 回だけバッチ ファイルを実行します。アプリがデプロイされました

于 2013-01-18T09:18:03.250 に答える