我应该将哪个包名用于开源java库?

时间:2011-03-10 19:04:21

标签: java open-source package

我想发布一个开源java库。我想用我的姓氏作为包名,但我觉得有点奇怪。我想使用像'open.libname'这样更中性的东西。

是否有关于开源Java包命名的建议?

4 个答案:

答案 0 :(得分:10)

正如其他人所说,使用反向域名启动包名称:

注册域名,例如myproject.org,然后使用org.myproject.mymodule

或者,如果您没有自己的域,请使用托管代码的子域,例如:如果您在myproject.sourceforge.net上托管代码,请使用net.sourceforge.myproject.mymodule

答案 1 :(得分:4)

通常的建议是以相反的顺序在您的包中添加您拥有的域的名称:com.mydomain.mypackage。由于您拥有域名,因此名称冲突的可能性会降低。

此外,对包名称的更好选择反映了包的功能,而不是您自己的名称。当你想要发布你的第二个(也许是完全无关的)库时你会用什么?

答案 2 :(得分:3)

您在哪里托管您的项目?例如,当我在Google Code上托管项目时,我倾向于使用com.googlecode.project-name(使用com.google.code.project-name似乎很粗鲁)。我实际上并不知道谷歌对此的看法,但它遵循许多Sourceforge.net项目的例子。如果您有个人/公司域名,那么请继续使用该域名。

答案 3 :(得分:2)

这可能是您正在寻找的答案,也可能不是。

通常的惯例是撤销您的个人/公司域名,并将其添加到包的名称之前。

因此,如果您的域名为“www.feel.com”且您的包名称为“mypackage”,那么您的完全限定包名称为:com.feel.mypackage