当前位置:  开发笔记 > 编程语言 > 正文

java包名称约定失败

如何解决《java包名称约定失败》经验,为你挑选了2个好方法。

我刚刚提出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和别人把它搞砸了.

编辑:如果我使用我公司的域名,我们被收购或分拆,我们应该怎样处理包名?保持相同或重命名?(我认为从引用包的编译类失败的角度看重命名是不好的)



1> sblundy..:

这是一个命名惯例.没有真正的要求,甚至没有期望包名映射到域名.


然而,有一个非常强烈的建议.

2> Martin OConn..:

一般的想法是两个组织不会拥有相同的域,因此使用域名作为包的一部分可确保没有命名空间冲突.但这只是一个建议.

有人在sun命名空间中拥有包是有充分理由的.如果他们提供公共API的实现,则通常需要在API的命名空间中实现这些类.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有