1. ホーム
  2. java

[解決済み] Mavenは理論的にも実際にも何をするのか?どんな時に使う価値があるのでしょうか?[クローズド]

2022-05-05 21:08:34

質問

私はこれから練習のためにJavaのプロジェクトを始めようとしています。Mavenについて読んだことがありますが、実際にどのような場合に使うのか理解していません。

実用的なヒントを教えてください。Mavenはかなり役に立ちますか?Mavenは実際に私のプロジェクトに何をもたらしてくれるのでしょうか?

どのように解決するのですか?

何をするのか

Mavenはビルド管理ツールです。 .java にコンパイルされます。 .class にパッケージされています。 .jar (または .war または .ear )ファイル、ツールによる(前/後)処理、自分の CLASSPATH その他、プロジェクトを構築するために必要なあらゆる種類のタスクがあります。と似ています。 Apache Ant または グラドル または メイクファイル C/C++では、ダウンロードや必要なライブラリのインストールなど、他の一般的なタスクを組み込むことによって、追加のツールやスクリプトを必要としないように、完全に自己完結しようとしています。

また、「ビルドの移植性」というテーマで設計されており、あるコンピュータでは同じビルドスクリプトで同じコードが動作するが、別のコンピュータでは動作しないといった問題が起こらないようになっています(これは既知の問題で、私たちの Delphi アプリケーションのいくつかは他の場所ではコンパイルできなかったので Windows 98 マシンの VM を持っています)。このため、IDEで生成されたAntスクリプトは他のIDEにインポートするのが難しいので、異なるIDEを使う人々の間でプロジェクトに取り組むのに最適な方法でもありますが、最近はすべてのIDEがMavenを理解しサポートしています ( IntelliJ , エクリプス そして NetBeans ). たとえMavenが気に入らなくても、他のすべてのモダンなビルドツールにとってMavenは参考となるものです。

使用する理由

Mavenには、以下の3つのポイントがあります。 非常に はいい。

  1. Mavenは(使用するライブラリを宣言した後)使用するすべてのライブラリをダウンロードします。 というライブラリは それら を自動的に使用します。これはとても素晴らしいことで、たくさんのライブラリを扱うのがとんでもなく簡単になります。これによって 依存性地獄。 . これは、Apache Antの アイビー .

  2. "を使用しています。 構成より規約 そのため、デフォルトでは、やりたいタスクを定義する必要はありません。AntやMakefileのように、コンパイル、テスト、パッケージ、クリーンアップの各ステップを記述する必要はありません。Mavenが期待する場所にファイルを置くだけで、バットから動作するはずです。

  3. また、Mavenにはたくさんの素晴らしいプラグインがあり、インストールすることで、以下のような多くのルーチンワークを処理することができます。 JAXBを使用してXSDスキーマからJavaクラスを生成する。 から Coberturaによるテストカバレッジの測定 . を追加するだけです。 pom.xml で、これらはあなたがやりたいことすべてと統合されます。

最初の学習曲線は急ですが、(ほぼ)すべてのプロのJava開発者がMavenを使用しているか、使用したいと願っています。しかし、慣れるまでに時間がかかったり、新しいことを学ぶことが苦痛になることがあるため、手動で行うことができればと思うことがあっても驚かないでください。しかし、一度Mavenに慣れてしまえば、ビルド管理にほとんど時間がかからないことに気がつくでしょう。

開始方法

一番いいのは、"です。 5分でわかるMaven となります。必要なファイルやフォルダをすべてセットアップして、コーディングするためのプロジェクトを始めることができます(そう、少なくとも最初は、クイックスタート・アーキタイプを使うことをお勧めします)。

使い始めたら、このツールがどのように使われるのか、より深く理解したいと思うでしょう。そのために、quot; Mavenでより良いビルドを しかし、その仕組みの根幹を理解するには、" が最も綿密な場所です。 メイヴン 完全版リファレンス "の方が最新です。前者を読んで理解し、後者を参考にする。