Maven アーティファクトとグループ ID の命名 質問する

Maven アーティファクトとグループ ID の命名 質問する

現在、いくつかのプロジェクトを Ant から Maven に移行する作業を行っています。私は慣習主義者なので、 と の検索には確立された規則を使用したいのですgroupIdartifactId、詳細な規則が見つかりません (いくつかありますが、疑問に思っている点はカバーされていません)。

このプロジェクトを例に挙げると、まず Java パッケージは次のようになります。com.mycompany.teatimer

Tea timerは実際には 2 つの単語ですが、Java パッケージの命名規則ではアンダースコアやハイフンの挿入が禁止されているため、すべてをまとめて記述しています。

groupIdパッケージ ID と同じものを選択しました。それが良いアイデアだと思ったからです。それでいいでしょうか?

最後に、 を選択する必要がありますartifactIdが、現在は を選択しましたteatimer。しかし、他の Maven プロジェクトを見ると、artifactIdのようにハイフンを使用して単語を で分割しています。しかし、 :tea-timerと連結すると奇妙に見えます。groupIdcom.mycompany.teatimer.tea-timer

これをどうやってやるんですか?

もう一つの例:

パッケージ名:com.mycompany.awesomeinhouseframework

groupId: com.mycompany.awesomeinhouseframework(?)

artifactId: awesome-inhouse-framework(?)

ベストアンサー1

奇妙さは非常に主観的なので、公式の推奨事項に従うことをお勧めします。

グループ ID、アーティファクト ID、バージョンの命名規則に関するガイド

  • groupIdすべてのプロジェクトにわたってプロジェクトを一意に識別するため、命名スキーマを適用する必要があります。パッケージ名の規則に従う必要があります。つまり、少なくとも自分が管理するドメイン名と同じである必要があります。また、必要な数のサブグループを作成できます。パッケージ名に関する詳細情報を見る

    例えばorg.apache.mavenorg.apache.commons

    groupId の粒度を決定する良い方法は、プロジェクト構造を使用することです。つまり、現在のプロジェクトが複数モジュール プロジェクトである場合は、親の groupId に新しい識別子を追加する必要があります。

    例: org.apache.maven、、org.apache.maven.pluginsorg.apache.maven.reporting

  • artifactIdバージョンなしの jar の名前です。自分で作成した場合は、小文字で奇妙な記号のない任意の名前を選択できます。サードパーティの jar の場合は、配布されている jar の名前を使用する必要があります。

    例えばmavencommons-math

  • version配布する場合は、数字とドット (1.0、1.1、1.0.1、...) を含む任意の一般的なバージョンを選択できます。日付は、通常 SNAPSHOT (夜間) ビルドに関連付けられているため、使用しないでください。サードパーティの成果物の場合は、どんなに奇妙に見えても、そのバージョン番号を使用する必要があります。

    例: 2.0、、2.0.11.3.1

おすすめ記事