我刚刚提出了
Java SE&对于程序包名称通常的Java约定没有问题,例如com.example.library_name_here.package_name_here
除.
我一直在注意到在一些相当知名的包中不遵守这一点.
> JLine:jline.*
> JACOB:com.jacob.*(没有jacob.com)
> JNA:com.sun.jna.*(网站上的免责声明)注意:Sun不赞助此项目,即使软件包名称(com.sun.jna)也可能暗示.)
所以我想知道,有没有常见的反向域名约定分解的情况,有好的方法来解决它?我可以想到的唯一的例子是围绕域名所有权问题(例如,您更改项目托管/域名,或已经有一个知名的包含“擅自占地者的权限”到您的域,或您的域运行的所有权out和另一个人抓住它).
编辑:如果我使用我公司的域名,我们被收购或分拆,我们应该如何处理包名?保持相同或重命名? (我认为重命名从编译的类引用该包然后丢失的角度来看是坏的)
解决方法
软件包用于避免由各种实体构建的组件之间的歧义和冲突.只要你遵循惯例,没有人非法使用你的包命名空间馅饼,你不应该担心别人使用什么.