現在、いくつかのプロジェクトを Ant から Maven に移行する作業を行っています。私は慣習主義者なので、 と の検索には確立された規則を使用したいのですgroupId
がartifactId
、詳細な規則が見つかりません (いくつかありますが、疑問に思っている点はカバーされていません)。
このプロジェクトを例に挙げると、まず Java パッケージは次のようになります。com.mycompany.teatimer
Tea timerは実際には 2 つの単語ですが、Java パッケージの命名規則ではアンダースコアやハイフンの挿入が禁止されているため、すべてをまとめて記述しています。
groupId
パッケージ ID と同じものを選択しました。それが良いアイデアだと思ったからです。それでいいでしょうか?
最後に、 を選択する必要がありますartifactId
が、現在は を選択しましたteatimer
。しかし、他の Maven プロジェクトを見ると、artifactId
のようにハイフンを使用して単語を で分割しています。しかし、 :tea-timer
と連結すると奇妙に見えます。groupId
com.mycompany.teatimer.tea-timer
これをどうやってやるんですか?
もう一つの例:
パッケージ名:com.mycompany.awesomeinhouseframework
groupId
: com.mycompany.awesomeinhouseframework
(?)
artifactId
: awesome-inhouse-framework
(?)
ベストアンサー1
奇妙さは非常に主観的なので、公式の推奨事項に従うことをお勧めします。
グループ ID、アーティファクト ID、バージョンの命名規則に関するガイド
groupId
すべてのプロジェクトにわたってプロジェクトを一意に識別するため、命名スキーマを適用する必要があります。パッケージ名の規則に従う必要があります。つまり、少なくとも自分が管理するドメイン名と同じである必要があります。また、必要な数のサブグループを作成できます。パッケージ名に関する詳細情報を見る。例えば
org.apache.maven
、org.apache.commons
groupId の粒度を決定する良い方法は、プロジェクト構造を使用することです。つまり、現在のプロジェクトが複数モジュール プロジェクトである場合は、親の groupId に新しい識別子を追加する必要があります。
例:
org.apache.maven
、、org.apache.maven.plugins
org.apache.maven.reporting
artifactId
バージョンなしの jar の名前です。自分で作成した場合は、小文字で奇妙な記号のない任意の名前を選択できます。サードパーティの jar の場合は、配布されている jar の名前を使用する必要があります。例えば
maven
、commons-math
version
配布する場合は、数字とドット (1.0、1.1、1.0.1、...) を含む任意の一般的なバージョンを選択できます。日付は、通常 SNAPSHOT (夜間) ビルドに関連付けられているため、使用しないでください。サードパーティの成果物の場合は、どんなに奇妙に見えても、そのバージョン番号を使用する必要があります。例:
2.0
、、2.0.1
1.3.1