包名称-JavaEEWeb应用程序

包名称-JavaEEWeb应用程序,java,naming-conventions,Java,Naming Conventions,我是用JavaEE编写web应用程序的初学者。你如何命名你的包裹 我经常看到像com.abc.commons这样的东西。。。有没有一个标准或通用的方法来做到这一点 感谢seanizer,我将使用您的方法:com.mycompany.myproject.api是的,请参阅 唯一程序包名称的前缀始终以所有小写ASCII字母书写,并且应为顶级域名之一,目前为com、edu、gov、mil、net、org,或ISO标准3166(1981)中规定的标识国家的英文双字母代码之一 包名称的后续组件根据组织自

我是用JavaEE编写web应用程序的初学者。你如何命名你的包裹

我经常看到像com.abc.commons这样的东西。。。有没有一个标准或通用的方法来做到这一点


感谢seanizer,我将使用您的方法:
com.mycompany.myproject.api
是的,请参阅

唯一程序包名称的前缀始终以所有小写ASCII字母书写,并且应为顶级域名之一,目前为com、edu、gov、mil、net、org,或ISO标准3166(1981)中规定的标识国家的英文双字母代码之一

包名称的后续组件根据组织自身的内部命名约定而有所不同。这些约定可能指定某些目录名组件为部门、部门、项目、机器或登录名

示例:

  • com.sun.eng
  • com.apple.quicktime.v2
  • edu.cmu.cs.bovik.cheese

惯用的方法是将自己的域名倒过来,因为这可以很好地保证其他人不会意外地使用这些包名。

这些部分通常会输入到我的包名中

  • 域名(您的或您公司/客户的)向后
  • 项目名称
  • 工件名称(api、客户端、测试等)
  • 功能性
  • 例如:

    com.mycompany.myproject.api.services
    // contains service interfaces for project myproject
    
    com.mycompany.myproject.common.util.string 
    // contains string-related utility classes that reside in a library module
    // that will be used by several other artifacts
    

    一个好的实践是拥有一个公共根包,该包对于单个项目(jar等)是不同的。例如:在jar myproject-api.jar中,根包应该是
    com.mycompany.myproject.api
    。这样你就知道在哪里可以找到你的类了。

    我删除了
    jee6
    标签,因为这个问题不是特定于Java SDK或版本的,而是添加了
    命名约定
    。你太好了,但是我没有编辑你原来的帖子,好的stackoverflow做法是将答案标记为已接受。您认为仅使用项目名称(这是唯一的)(如
    myproject.api.services
    )而不是
    com.mycompany.myproject.api.services
    )怎么样。我更喜欢这个,因为它更具可读性&我认为,在每个包名称中包括公司名称/域等实际上没有意义。。你觉得这个怎么样?这背后有什么技术问题吗?非常感谢@Marcos不,据我所知,没有任何技术问题,为公司或组织提供一个通用的包名称空间被认为是一种良好的做法。它使我们更容易将属于我们的东西组合在一起