在Java中,避免软件包名称冲突的标准方法是使用反向域约定com.[mycompany].[rest-of-the-package-name]
。如果您拥有域名[mycompany] .com,这将非常有效。
但是,有几个个体开发人员(或学生):
仅此就引入了程序包冲突的范围。
此外,假设我拥有[mycompany] .com。是什么导致开发人员无法创建与我的包前缀相同的包前缀的库并进行分发? AFAIK,关于软件包名称没有法律约束力(“您必须拥有您在Java软件包中使用的域”)。更不用说开发人员方面的这种行为可能不是故意的(在我们为软件包命名之前,我们中有多少人在网上梳理查找不存在的域名?)。
更进一步,即使我拥有一个域名,它也可能不适合用作程序包名称(我的域名可能包含连字符,或者可能很长,尽管它是合法的程序包名称,但仍然可以使其不切实际)。
所以我的问题是:如何真正使我的Java包名称唯一?
最佳答案
您不能绝对保证您的软件包名称在全局范围内是唯一的。正如您提到的,没有什么阻止其他人使用相同的程序包名称的,而不论谁拥有该程序包名称所基于的内容。没有使用包名称的权威索引。
关于java - 如何*真的*确保我的Java软件包名称是唯一的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10703444/