使用.io TLD作为Java包的优点和缺点?

使用.io TLD作为Java包的优点和缺点?,java,package,tld,Java,Package,Tld,我知道我们几乎可以为Java包命名,但我想问一下,使用.ioTLD在社区中是否有任何特殊的优点或缺点 最初人们按公司命名Java包,例如com.example.acme.foobar。后来,给开源社区项目一个单独的.org名称变得很普遍,例如org.jooq托管在jooq.org上 如今,某些圈子(例如JavaScript/GitHub社区)似乎喜欢使用.ioTLD创建网站,例如。我同意这是一个聪明的术语,所以我正在考虑将其用于我自己的开源Java项目 但是这在Java社区中得到了广泛的接受吗?

我知道我们几乎可以为Java包命名,但我想问一下,使用
.io
TLD在社区中是否有任何特殊的优点或缺点

最初人们按公司命名Java包,例如
com.example.acme.foobar
。后来,给开源社区项目一个单独的
.org
名称变得很普遍,例如
org.jooq
托管在
jooq.org

如今,某些圈子(例如JavaScript/GitHub社区)似乎喜欢使用
.io
TLD创建网站,例如。我同意这是一个聪明的术语,所以我正在考虑将其用于我自己的开源Java项目


但是这在Java社区中得到了广泛的接受吗?如果我将我的包命名为io.foobar
io.foobar
,这会导致更多的混乱而不是帮助吗?即使它不是I/O相关的库,它是否也会显示为I/O相关的库?它会导致工具或构建系统出现问题吗?有什么我应该知道的吗?

对于小项目,包名称空间和Maven groupId通常是一致的,所以让我们假设它们对于这个答案是相同的:

目前,Maven central上有383台主机,而不是2245台或3520台


我想说,
io.*
是少数,但考虑到使用
io
tld只是最近的一种做法,我认为您正在追随一种流行趋势。加油

对于小型项目,包名称空间和Maven groupId通常是一致的,因此我们假设它们对于这个答案是相同的:

目前,Maven central上有383台主机,而不是2245台或3520台


我想说,
io.*
是少数,但考虑到使用
io
tld只是最近的一种做法,我认为您正在追随一种流行趋势。加油

一个有用的回答,卢卡斯——谢谢!但是您可能没有注意到您实际上回答了一个不同的问题,即:“我应该为我的Maven groupId使用
.io
TLD吗?”是的,默认情况下,人们会认为它们是相同的,但我(一如既往)忍不住先思考默认答案,然后再接受它。如果我有一个FooBar项目,使用
io.FooBar
的groupId会给我
io.FooBar:FooBar:1.0
的坐标,这是重复的。例如,可以有一个
io.foobar
包,其Maven坐标为
com.example.acme:foobar:1.0
。我还没决定。@GarretWilson:你说得对。我假设包前缀和Maven GroupID是同一件事,因为它们大多在大多数小项目中。例如,如果您有
com.example.acme:foobar:1.0
,那么您的包名很可能类似于
com.example.acme.foobar
,而不是
io.foobar
,除非可能是出于历史原因。无论如何,你有一个正确的观点,我真的刚刚回答了你的问题“但是这在Java社区中得到了很多认可吗?”在这里我理解“这”是在使用
io
TLD。Lukas,感谢你对这个问题的讨论和洞察。你的贡献在很大程度上帮助我做出决定。最后,我决定对域、Maven groupId和Java包使用
.io
。事实上,我刚刚发布了两个使用这种命名方法的项目。现在可以分别通过Maven Central和访问。Lukas,这是一个很有帮助的回答,谢谢!但是您可能没有注意到您实际上回答了一个不同的问题,即:“我应该为我的Maven groupId使用
.io
TLD吗?”是的,默认情况下,人们会认为它们是相同的,但我(一如既往)忍不住先思考默认答案,然后再接受它。如果我有一个FooBar项目,使用
io.FooBar
的groupId会给我
io.FooBar:FooBar:1.0
的坐标,这是重复的。例如,可以有一个
io.foobar
包,其Maven坐标为
com.example.acme:foobar:1.0
。我还没决定。@GarretWilson:你说得对。我假设包前缀和Maven GroupID是同一件事,因为它们大多在大多数小项目中。例如,如果您有
com.example.acme:foobar:1.0
,那么您的包名很可能类似于
com.example.acme.foobar
,而不是
io.foobar
,除非可能是出于历史原因。无论如何,你有一个正确的观点,我真的刚刚回答了你的问题“但是这在Java社区中得到了很多认可吗?”在这里我理解“这”是在使用
io
TLD。Lukas,感谢你对这个问题的讨论和洞察。你的贡献在很大程度上帮助我做出决定。最后,我决定对域、Maven groupId和Java包使用
.io
。事实上,我刚刚发布了两个使用这种命名方法的项目。它们现在分别通过Maven Central和提供。