Java包com和org

Gab*_*iel 115 java package

java中的包org和com是什么意思?

Pau*_*and 103

根据Sun的说法,软件包应根据您的域名的反向命名,然后按照您认为合适的方式进行命名.大多数公司或组织都有一个.com.org域名,因此大多数软件包都以com.或开头org..引用Sun Code Conventions:

唯一包名称的前缀始终以全小写ASCII字母书写,应该是顶级域名之一,目前是com,edu,gov,mil,net,org,或者是英文双字母代码之一识别ISO标准3166,1981中规定的国家.

软件包名称的后续组件根据组织自己的内部命名约定而有所不同.此类约定可能指定某些目录名称组件是分区,部门,项目,计算机或登录名.

他们提供的示例很明显,您打算使用公司的DNS名称:

com.sun.eng

com.apple.quicktime.v2

edu.cmu.cs.bovik.cheese

你也会在野外看到edu.net.打包,虽然它们不太常见.

  • @LeonardoRaele通常在这种情况下你进入一个痛苦的世界;-)更严重的是,有两个选项,重命名所有类,如果代码是内部的话可以工作,或者保留使用旧名称,因为那可能无论如何仍然是独特的. (4认同)
  • 如果公司更改域名怎么办? (2认同)
  • 当您不属于某个组织或没有网站时,最佳命名约定是什么?我之前看过`me.username`,但我不确定这是最好的还是唯一的标准. (2认同)
  • @AaronFranke我见过人们使用他们的GitHub用户名作为他们的域名,所以,例如:com.guthub.pwagland.xxx的主要目的是获得一个唯一的名称,这样你就不必改变它了,所以永远不会与别人选择的名字冲突. (2认同)

Bal*_*usC 45

您还可以将包名称视为反向互联网域名(在现实世界中通常也是如此,例如,请参阅org.apache.commonshttp://commons.apache.org相关的内容).的com(商业)org(组织)的位置,然后居然顶级域的名称.

软件包名称通常只是为了识别您所面对的代码的制造商/供应商.

  • 并确保包名称的唯一性.我认为这是一个非常聪明的方法 (16认同)
  • 我可能是错的,但是如果每个人都打算使用com,那么在这点上com听起来没必要。我宁愿只使用公司名称。我更喜欢他们为其他打包系统(如npm和composer)使用的命名系统。他们使用“用户名/程序包名称”或类似名称。所以我将我在Java中的软件包命名为“ username.packagename” (2认同)

Gui*_*ume 9

com公司在命名包时通常使用com公司的名称.例如,您有com.sunJVM中的包.

org包的前缀主要用于通过非营利组织或开放源代码,如Apache,W3C等

  • 丹尼斯,我认为这不是一个好主意.这意味着释放代码会更改包名称并破坏使用原始名称的内部软件.此外,如果exam​​ple.com和example.org由不同的公司拥有并且都希望发布Java代码,则会发生命名空间冲突. (3认同)

Dha*_*ama 5

请参阅Oracle 文档了解包命名

请参阅类/接口/注释/等标准命名的命名约定

包名和类标准语法:
<yourdomain inverse>.<project name>.<controller/dao/service/handlers etc>.<your class>

示例1:(此处域名:-“stackoverflow.com”,项目:-“Test”)
com.stackoverflow.test.handler.TestHandler

示例2:(此处域名:-“www.google.co.in”,项目:-“My Proj”)
in.co.google.myproj.controller.MainController

但对于 java.*、javax.*、sun.* 等保留域,您应该获得Oracle 社区的许可