Shunya Ueta

mvn archetype:generate でJavaのプロジェクト雛形を作成する際のオプションの解説

最近、Java を業務で触っている。 門外漢の自分からすると Maven のお作法が分からなかったので、備忘録がてら残しておく。

mvn archetype:generate コマンドのオプションの意味

mvn archetype:generate コマンドを使えば任意のテンプレートに沿ったプロジェクトを一発で作成することができる。

具体例として、Apache Beam でプロジェクト管理ツールである Maven を使って、mvn archetype:generate コマンドを用いて、プロジェクト作成を行う場合、公式サイトでは以下のように指定されている

$ mvn archetype:generate \
      -DarchetypeGroupId=org.apache.beam \
      -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
      -DarchetypeVersion=2.31.0 \
      -DgroupId=org.example \
      -DartifactId=word-count-beam \
      -Dversion="0.1" \
      -Dpackage=org.apache.beam.examples \
      -DinteractiveMode=false
オプション名意味
archetypeGroupIdarchetypegroupId つまり、テンプレートを提供している作成元の識別子
archetypeArtifactIdarchetype のテンプレート。個々では beam-sdk に対応したプロジェクトテンプレートを作成している。
archetypeVersionテンプレートのバージョン
groupIdJava のパッケージ名のルールに則ったすべてのプロジェクトで唯一に識別可能な識別子。今回は org.example が使われており、実際は識別子として機能指定なさそうな名前ではある。(実際昔のプロジェクトでは重複可能な単語が使われていることが多いが、その場合は marven に登録する際に名前が衝突して登録ができないとのこと
artifactId任意の名前が使用可能であり、jar ファイルのバージョン抜きの名前を指定する。プロジェクトのパッケージ名と考えたら良さそう。これが作成されるロートディレクトリのフォルダ名
versionプロジェクトのバージョン情報
packageクラスやインターフェースの名前空間を指す。基本的に groupid と同一だが、groupid を接頭辞にして、独自に付け足すこともある。
interactiveModeウィザード形式の生成をするかしないか

Reference

---

関連しているかもしれない記事


📮 📧 🐏: 記事への感想のおたよりをおまちしてます。 お気軽にお送りください。 メールアドレス入力があればメールで返信させていただきます。 もちろんお返事を希望せずに単なる感想だけでも大歓迎です。

このサイトの更新情報をRSSで配信しています。 お好きなフィードリーダーで購読してみてください。

このウェブサイトの運営や著者の活動を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、著者の活動のモチベーションに繋がります✨
Amazonでほしいものリストも公開しているので、こちらからもサポートしていただけると励みになります。

#java