[解決済み】MavenのアーティファクトとgroupIdの命名について
質問
現在、あるプロジェクトをAntからMavenに移行している最中です。私は適合主義者なので、以下を見つけるために確立された規約を使いたいと思っています。
groupId
と
artifactId
が、詳しい規約が見当たらない(あるにはあるのですが、私が疑問に思っている点をカバーしていない)。
このプロジェクトを例にとると、まずJavaのパッケージ。
com.mycompany.teatimer
ティータイマー は本当は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
(?)
解決方法は?
あなたの規約は合理的であるように思えます。もし私がMavenレポであなたのフレームワークを探すとしたら、次のものを探すでしょう。
awesome-inhouse-framework-x.y.jar
で
com.mycompany.awesomeinhouseframework
のグループディレクトリを作成します。そして、あなたの慣習に従って、そこで見つけることになります。
2つのシンプルなルールが私には有効です。
- groupId (これは非常にユニークなので) のための reverse-domain-packages に、すべての 制約事項 Javaパッケージ名に関する
- プロジェクト名を artifactId とする(jar-name friendly であること、つまり、ファイル名として無効な文字や奇妙に見える文字を含まないことに注意する)。
関連
-
[解決済み] あるアーティファクトの依存関係ツリーを取得する方法は?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] オブジェクト名の前のシングルアンダーコアとダブルアンダーコアの意味は何ですか?
-
[解決済み] Pythonの変数名や関数名の命名規則について教えてください。
-
[解決済み】Maven: POMに依存関係を追加した後、リポジトリを更新するコマンド
-
[解決済み] 1つのコマンドラインで特定のMavenアーティファクトをダウンロードするにはどうすればよいですか?
-
[解決済み] Mavenが使用するJDKを指定する
-
[解決済み] Mavenを使用したリリース依存の強制再ダウンロード
-
[解決済み] Maven: ライブラリによって追加された依存関係をオーバーライドする方法
-
[解決済み] mvn クリーンインストール vs. デプロイ vs. リリース
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] あるアーティファクトの依存関係ツリーを取得する方法は?
-
[解決済み】Maven: POMに依存関係を追加した後、リポジトリを更新するコマンド
-
[解決済み】単一の依存関係のすべての推移的な依存関係を除外する
-
[解決済み] Mavenでテストコードを共有する
-
[解決済み] Maven: 並行ビルドを行うには?
-
[解決済み] Mavenが使用するJDKを指定する
-
[解決済み] Mavenを使用したリリース依存の強制再ダウンロード
-
[解決済み] mvn クリーンインストール vs. デプロイ vs. リリース
-
[解決済み] Mavenを使用してプログラムを実行するにはどうすればよいですか?
-
[解決済み] Mavenのリアクタービルドからモジュールを除外する方法は?