2014-04-19 43 views
1

我想弄清楚maven的最佳命名約定。比如我創建一個Web服務(使用的球衣)和讓說,例如,我的域名是mydomain.comMaven工件和組命名約定

我的產品名稱爲ProfitHorse

所以會是把GROUPID與最佳實踐我反向DNS名稱並添加ProfitHorse上它像這樣

com.mydomain.profithorse

和神器將是實際命名模塊在這種情況下,它的球衣休息服務,所以像

REST的服務

如果我有進一步的模塊,我可以使用相同的groupId,但只是改變了神器即

電子郵件服務器

是用很好的做法 - 字之間(破折號)我認爲它不是 區分大小寫,所以使用駱駝套管或帕斯卡套管不會真正起作用。

我真的很感謝這裏的任何指導,因爲我對公約方面有點困惑。

感謝

+2

可能重複[Maven artifact和groupId命名](http://stackoverflow.com/questions/3724415/maven-artifact-and-groupid-naming) – Joe

回答

6

在這種情況下,我會建議:

的groupId:反向域名+項目名稱,用點,一切小寫分離:com.mydomain.profithorse

的artifactId:項目名稱+組件,用破折號分隔,全部小寫: profithorse-server-serviceprofithorse-server-service-restprofithorse-server-rest

對於artifactId的考慮:

  • 的的artifactId將定義罐子名。這就是爲什麼我建議添加項目名稱的原因,否則你最終會得到一個rest-service-<version>.jar - 不是非常具有說明性的
  • 使用盡可能多的組件部件,以便輕鬆查看它提供的內容。
    • 你有服務器和客戶端模塊嗎?
    • 你有幾種服務?或只是休息?
    • 每個功能的垂直分層是否有意義?然後還功能名稱添加到的artifactId

我猜Maven的座標是區分大小寫的,但我不知道。我建議始終使用小寫字母。

+0

感謝您的。很好的解釋,雖然看起來還有另一個問題回答我的問題,但沒有詳細說明或回答我的具體情況......你確實......謝謝你 – Martin