web-dev-qa-db-ja.com

独身者、教育プロジェクトに関してMavenの利点は何ですか

Mavenで遊んだり、Apache公式サイトでいくつかのものを読んだり、いくつかのランダムなグーグル記事を読んだりして数時間過ごしました。これは、自分で答えを見つけようとしたことを意味します。自分で読んだり、自分で行うことによって。また、私がm2e pluginそのため、ほとんどの場合、コマンドラインを使いすぎずにEclipseから物事を試しました。

しかし、たとえばデフォルトのパッケージを使用できないように生成されたプロジェクトを除けば、Mavenを試す前にプロジェクトを作成した標準的な方法との大きな違いはありませんでした。実際、私は今のところMavenをスキップして他のテクノロジーに移行することをほぼ決定しました。もっと詳しく知りたい-Hibernateですが、公式ページを開くことから始めると、最初にMavenでHibernateを使用することをお勧めしました。

それは私を混乱させ、一歩下がって、今私が明らかに欠けているものを見つけるためにもう一度試みようとしました。

maven.Apache..サイト、他の人と大規模なプロジェクトで作業するときにMavenの真の強みが示されていますが、このシナリオでMavenが実際にどのように使用されているかを確認するオプションがありません。小さなプロジェクトだけで作業していますが、指摘するのは本当に難しいです。

だから、一人で書く小さなプロジェクトにMavenを使用する場合のMavenの利点は何だと思いますか。この状況で役立つ、私が認識し、利用しようとするべきこと(つまり、Mavenによって提供される機能)は何ですか?

依存関係の管理は、ソロプロジェクトの場合でも大きな利益になると思います。 XMLをpom.xmlに追加して、MavenにJARのダウンロードを心配させ、適切な場所に配置することは非常に便利です。

通常、コマンドラインを使用してビルドおよびデプロイする方がはるかに高速です。履歴にいくつかのコマンドがあれば、6つのキーストロークでビルド、すべてのテストの実行、Tomcatへのデプロイを行うことができます。 Eclipseを使用してビルドし、Tomcat Managerを介してデプロイするには、約12回の注意深いクリックが必要です。

プロジェクトが単独で残っている場合でも、ある時点で別のマシンを使用することができます。 Mavenでは、JARをバージョン管理する必要はありません。GitHubリポジトリを複製するだけで、mvn packageが必要なものをすべて取得します。

最後に、大きなプロジェクトに取り組む予定がなければ、Hibernateを学ぶことはできません。最近では、これらの大きな製品のほとんどがMavenで構築されているので、時間を無駄にすることはありません。

ヒント:Eclipse m2プラグインを必ずインストールしてください。そうしないと、Eclipseがコードを理解できません。

7
Eric Wilson

Mavenおよび類似のツールは、面倒なタスクの負荷全体を自動化します。 Eclipseは同じタスクのいくつかを自動化します-コンパイル、パッケージ化、テストの実行、webappコンテナーの開始(WTPを使用している場合)。したがって、ビルドツールを使用したEclipseとビルドツールを使用しないEclipseを比較する場合、少なくとも小さなプロジェクトの場合、それほど大きな違いはありません。

エリックが指摘するように、1つの大きな勝利は依存関係の管理です。プロジェクトにJDK以外の依存関係がほとんどない場合、これがどれほど有用であるかを理解できない可能性があります。それが数十の依存関係を持つようになるまで待ってから、ビルドツールを削除してみて、どれほどの痛みを感じるか見てください!

加えて、Mavenは最も広く使用されている洗練されたビルドツールですが、それだけではなく、私の意見では最高ではありません。 Mavenは柔軟性がなく、非常に複雑です。その後継者、主に GradleBuildr は、非常に柔軟で使いやすく、簡単なことを簡単に、困難なことを可能にします。私は強くMavenをまったく使用せず、Gradleを使用するか、GradleとBuildrを試して、好みのものを使用することをお勧めします。

3
Tom Anderson