包名称-JavaEEWeb应用程序
我是用JavaEE编写web应用程序的初学者。你如何命名你的包裹 我经常看到像com.abc.commons这样的东西。。。有没有一个标准或通用的方法来做到这一点包名称-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)中规定的标识国家的英文双字母代码之一 包名称的后续组件根据组织自
感谢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
惯用的方法是将自己的域名倒过来,因为这可以很好地保证其他人不会意外地使用这些包名。这些部分通常会输入到我的包名中
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不,据我所知,没有任何技术问题,为公司或组织提供一个通用的包名称空间被认为是一种良好的做法。它使我们更容易将属于我们的东西组合在一起