我想发布一个开源java库。我想用我的姓氏作为包名,但我觉得有点奇怪。我想使用像'open.libname'这样更中性的东西。
是否有关于开源Java包命名的建议?
答案 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