![](/img/trans.png)
[英]Importing Beat Link Java Library From Maven Central To Eclipse?
[英]Uploading library fork to Maven Central, groupId != Java namespace
我想將Java庫的fork上傳到Maven。 根據https://maven.apache.org/guides/mini/guide-central-repository-upload.html,我必須選擇一個新的groupId。
現在,groupId與Java名稱空間不再匹配。 我是否還需要重命名所有Java包,還是可以保留原始名稱空間?
例:
原始庫 :
Maven groupId: org.foo.bar
Java名稱空間: org.foo.bar
叉子:
Maven GroupId: com.acme.bar
Java名稱空間: org.foo.bar
groupId和程序包名稱不一定必須匹配。
事實是,同一軟件包可能會使工具和框架混亂。
假設兩者都有foo.Bar
類,但具有不同的API。
例如,將兩個庫都放在類路徑構建工具(例如Maven)上,就不會認識到它在不同版本(版本分辨率)中實際上是相同的依賴項。 稍后在運行時,這意味着類路徑上的foo.Bar
的第一個版本將獲勝。 您也許可以使用排除來解決此問題,但這會使構建更加復雜。
OSGi和Jigsaw(Java SE 9)之類的模塊系統也可以在軟件包級別上工作。 您想如何以不與原始軟件包的版本沖突的方式對這些軟件包進行版本控制?
因此,最好的辦法是一起處理原始項目,而不是釋放分支。
如果由於某種原因無法做到這一點,我只會保留相同的軟件包名稱,如果
和
在所有其他情況下,我建議更改軟件包名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.