我想发布一个开源的Java库。我原本想使用我的姓氏作为包名,但我觉得有点奇怪。我想使用更中立的名称,比如“open.libname”。
是否有关于开源Java包命名的建议?
是否有关于开源Java包命名的建议?
像其他人所说,以反转的域名作为包名开头:
注册一个域名,例如 myproject.org,然后使用 org.myproject.mymodule
。
或者,如果你没有自己的域名,请使用托管代码的子域名,例如如果你在 myproject.sourceforge.net 上托管代码,请使用 net.sourceforge.myproject.mymodule
。
com.googlecode.
的建议了吗?googlecode.com
指向code.google.com
。 - Isaac Truettcom.mydomain.mypackage
。因为你拥有该域名,名称冲突的可能性降低了。com.gatis.foo
和com.gatis.bar
这样的包名。不要过度使用,但是你能让你的包名更加独特,命名冲突的机会就越小。(在很多情况下,选择包名并不真的很重要,但是当你分发一个库时就不同了。而且像Android Market这样的地方使用启动类的包名来识别应用程序。) - Ted Hopp你的项目托管在哪里?例如,当我在Google Code上托管项目时,我倾向于使用com.googlecode.project-name
(使用com.google.code.project-name
似乎有点粗鲁)。我并不知道Google对此有何看法,但这遵循了许多Sourceforge.net项目的例子。当然,如果你拥有个人/企业域名,那么可以使用该域名。
这可能是你想要的答案,也可能不是。
通常的惯例是将你个人/公司域名反转并将其前缀添加到包的名称之前。
因此,如果你的域名是“www.feel.com”,你的包名是“mypackage”,那么你的完全限定包名就会是:com.feel.mypackage