什么是" com"在Maven组身份中意味着什么?有必要吗?

时间:2015-03-03 12:11:13

标签: java maven

在学校项目中,我们应该使用maven启用的项目。 Maven是一个很好的管理依赖关系的系统,所以我很高兴我终于学会了使用它。

然而,我已经开始作为Netbeans项目的项目,我现在正在努力如何重新配置​​它。在创建项目时,IDE建议我将其称为com.myname。这导致了冗余的空文件夹com/myname/{sources start here}。 Windows资源管理器并不像GitHub那样聪明,并且不会跳过空文件夹,这会使它非常烦人。

我强烈认为我只会myname致电该项目。这有效吗?打破这个惯例有什么风险?这个约定来自何处以及com缩写的含义是什么?

4 个答案:

答案 0 :(得分:2)

com是反向域的一部分。因此,如果您的域名是

somecompany.com您的maven文物应命名为com.somecompany.awesomeThingy

这确保我在发布

时不会发生姓名冲突
com.someothercompany.awesomeThingy

这也是naming convention for java packages

只要您的maven repos是私有的,这一切并不重要。一旦打算将工件发布到maven central,就会有rules enforcing that you name artifacts using a domain you control

当然还有其他TLD,所以orgde等等也是选项。

答案 1 :(得分:1)

当然有效。 Eclipse建议这样做,因为它对组织来说通常是有意义的。对于一个学校项目,不是那么多。

无论如何,这是Java世界中的常见惯例,你应该习惯它:)

答案 2 :(得分:1)

它只是Java包名称的一部分。

Java中的包名称看起来像域名,但顺序相反。例如,如果有人在" somecompany.com"那么他或她通常会使用包名com.somecompany.someproduct

这只是Java世界中的惯例。它不需要遵守这一惯例。

答案 3 :(得分:1)

嗯,它只是一个Java公约。 理想情况下,com指商业用途,用于商业目的。

您可以使用任何内容而不是com,例如org。或者教育。

   <groupId>org.codehaus.mojo</groupId>
    <artifactId>parent</artifactId>
    <version>1.0</version>

但是在未来的未来,你肯定需要遵循相同的代码结构。那么,如何从大学项目本身实践。