2015-03-03 40 views
0

在學校項目中,我們應該使用啓用Maven的項目。 Maven是一個管理依賴關係的好系統,所以我很高興終於學會使用它。「com」在Maven組ID中的含義是什麼?有必要嗎?

但是我已經開始項目作爲NetBeans項目,我現在正在努力如何重新配置​​它。在創建項目時,IDE建議我將其稱爲com.myname。這導致冗餘的空文件夾com/myname/{sources start here}。 Windows資源管理器不像Gi​​tHub那麼聰明,並且不會跳過空文件夾,這使得它非常煩人。

我在強烈地考慮我會打電話給項目myname。這有效嗎?打破這個慣例有什麼風險?這個約定來自哪裏,com的縮寫是什麼意思?

+0

可能的重複[您是否真的在java中使用您的反向域進行包命名?](http://stackoverflow.com/questions/189209/do-you-really-use-your-reverse-domain-for- package-named-in-java) – Smutje 2015-03-03 12:13:57

回答

2

com是反向域的一部分。所以,如果您的域名是

somecompany.com Maven的文物應該被命名爲com.somecompany.awesomeThingy

這可以確保當我發表我的

com.someothercompany.awesomeThingy 

這也是naming convention for java packages我們沒有得到名稱衝突。

所有這些都不重要,只要你的maven回購是私人的。一旦你打算髮布文物中心雖然,有rules enforcing that you name artifacts using a domain you control

當然還有其他頂級域名,所以org,de等等都是選項。

+0

這似乎意味着必須是域所有者才能發佈庫。 – 2015-03-03 12:15:37

+0

我不確定這些規則有多嚴格,如果有例外,但基本上是。 – 2015-03-03 12:17:28

+1

如果這是一個學校項目,你很可能不想將你的項目發佈到Maven Central。 – Jesper 2015-03-03 13:19:05

1

當然它是有效的。 Eclipse建議這樣做,因爲它對組織來說通常是有意義的。對於一個學校項目來說,不是那麼多。

無論如何,這是一個常見的約定在Java世界中,你應該習慣吧:)

+0

事情是,我在捷克共和國,我沒有域名。那時候,使用'com'確實沒有意義。 – 2015-03-03 12:16:33

+0

你當然可以使用'cz' :)我自己總是使用'hu.meskobalazs'作爲我的項目。不,我沒有這個域名。 – meskobalazs 2015-03-03 12:17:07

+0

此外,如果我有網站主機子域名,我會使用類似'com.freesites.myproject ...'的東西嗎? – 2015-03-03 12:19:54

1

這只是一個Java包名稱的一部分。

Java中的包名稱與域名相似,但順序相反。例如,如果某人正在爲「somecompany.com」工作,那麼他或她通常會使用包名稱com.somecompany.someproduct

這只是Java世界中的約定。不需要遵守這一慣例。

1

那麼,它只是一個Java公約。理想情況下com是指Commercial,用於商業目的。

你可以使用任何東西而不是com,比如org。或edu。

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

但是,在未來,你一定需要遵循相同的代碼結構。那麼,從大學項目本身開始練習呢。

相關問題