Java でパッケージ名の競合を回避する標準的な方法は、逆ドメイン規則を使用することcom.[mycompany].[rest-of-the-package-name]
です。これは見事に機能します...ドメイン[mycompany].comを所有している場合。
ただし、次のような個々の開発者 (または学生) が何人かいます。
- ドメインを所有していない (または所有する余裕がない)
- 一意であることを期待して、いくつかのパッケージ名を思いつきます。
これだけでも、パッケージの競合が発生する可能性があります。
さらに、私が [mycompany].com を所有しているとします。開発者が私のものと同じパッケージプレフィックスを持つライブラリを作成して配布することを妨げているのは何ですか? 私の知る限り、パッケージ名に関して法的拘束力はありません(「Javaパッケージで使用したドメインを所有する必要があります」)。開発者側のこのアクションは意図的ではない可能性があることは言うまでもありません (パッケージに名前を付ける前に、存在しないドメイン名を探して Web をくまなく調べている人はどれくらいいるでしょうか?)。
さらに、ドメイン名を所有していても、パッケージ名として使用するのに適している場合とそうでない場合があります (ドメイン名にハイフンが含まれている場合や、ドメイン名が長すぎて合法的なパッケージ名であっても、非現実的にします)。
私の質問は次のとおりです。Java パッケージ名を一意にするにはどうすればよいですか?