国际用户的Java包命名是否有例外?

国际用户的Java包命名是否有例外?,java,naming-conventions,Java,Naming Conventions,虽然我理解反向URL系统的原理,但它似乎只适用于拥有非国家域名的公司。而包名以com开头。或组织。有用且简短,并就可能的许可证提出建议,即套餐必须从英国开始,fr.,jp。etc——通常是该国版本的.com或.org的另一部分——仅仅因为它是在哪里编写的,这与它在软件中的使用无关,这似乎很愚蠢 是否有任何标准的替代约定 而包名以com开头。或组织。有用 IMHO只有当您的代码将与其他公司或组织共享时,它才有用 在大多数项目中,公司竭尽全力确保其知识产权留在公司。因此,使用为共享代码而设计的结构是

虽然我理解反向URL系统的原理,但它似乎只适用于拥有非国家域名的公司。而包名以com开头。或组织。有用且简短,并就可能的许可证提出建议,即套餐必须从英国开始,fr.,jp。etc——通常是该国版本的.com或.org的另一部分——仅仅因为它是在哪里编写的,这与它在软件中的使用无关,这似乎很愚蠢

是否有任何标准的替代约定

而包名以com开头。或组织。有用

IMHO只有当您的代码将与其他公司或组织共享时,它才有用

在大多数项目中,公司竭尽全力确保其知识产权留在公司。因此,使用为共享代码而设计的结构是没有意义的。顺便说一句,即使以后需要更改项目,这也不是问题,您可以使用类似jarjar的工具更改JAR的包

因此,对于大多数公司内部项目来说,这并不有用

是否有任何标准的替代约定

我将以模块的名称命名包。e、 如果你用的是maven,我会用

<groupId>mygroupid</groupId>
<artifactId>myartifact</artifactId>
或者一个子包

无论您是否使用域名,这都有效

package mygroupid.myartifactid;