有一個guide to the central repository,其對上傳的項目,可以幫助的部分。如果沒有其他的東西,你可以檢查你的項目的命名約定和最低限度的信息要求。
Sonatype也可以執行OSS存儲庫託管,詳情請參閱their guide。
更新:我不是說你應該改變你的構建過程 - 如果Ant爲你工作,堅持下去。無論您的構建方法如何,值得在POM中遵循Maven約定。因爲將你的jar放到Maven倉庫中的目的是爲了讓Maven用戶可以訪問它,所以你需要爲你發佈的工件定義一個POM。遵循命名約定將有助於您的用戶,所以您不妨做到這一點。例如,將SCM細節添加到pom中(除其他外)將允許用戶使用Maven的IDE集成將項目導入到其工作空間中。
基本上,你有4個選項:
- 執行標準Maven構建針對Maven倉庫(已排除)
- 設置Maven倉庫,做您的構建與Ant和使用Maven部署jar和POM。
- 設置Maven倉庫,廣告使用Ant HTTP任務發佈文物
- 使用Subversion「資源庫」,並使用SvnAnt任務發佈的文物
選項1
使用Maven構建和部署工件(有關詳細信息,請參閱Maven book和上述鏈接)。
選項2
假設你有一個創建你的罐子構建過程中,你已經定義了POM,最好的辦法是把它當作上面發佈到Sonatype的OSS庫。
部署現有的JAR標準Maven倉庫是簡單的使用Maven部署插件的部署文件的目標:
- (通過提高Jira request例如Sonatype的服務器上)
- 構建設置你的資料庫你的jar與螞蟻。
- 如果你已經定義了一個POM,把它放在與jar相同的目錄中。
運行部署文件的目標:
MVN部署:部署文件-Durl = http://path/to/your/repository \ -DrepositoryId = some.id \ -Dfile =路徑到您的僞影罐子\ - DpomFile =路徑到您的-的pom.xml
需要注意的是Maven的部署目標將自動翻譯的pom.xml到[項目名稱] - [版本] .pom。如果您正在執行其他兩種選擇之一,則需要確保您提交最終名稱的POM,即[項目名稱] - [版本] .pom。您還需要確保遵循Maven約定來編寫工件的相對路徑。
E.g.爲的groupId = com.foo.bar,artifactId的=我的項目版本1.0.0 =,路徑的文件將是:
/com/foo/bar/my-project/my-project-1.0.0.jar
/com/foo/bar/my-project/my-project-1.0.0.pom
選項3
如果你想使用Ant部署到一個Maven倉庫,你可以使用一個Ant HTTP library(注意我沒有嘗試過這個)。你會編寫兩個HTTP put任務,一個用於jar,一個用於POM。
<httpput url="http://path/to/your/repository" putFile="/path/to/yourproject.pom">
<userCredentials username="user" password="password"/>
</httpput>
<httpput url="http://path/to/your/repository" putFile="/path/to/yourproject.jar">
<userCredentials username="user" password="password"/>
</httpput>
選項4
如果你想完全避免Maven和使用Ant部署到SVN支持庫,你可以使用SvnAnt Subversion library。您只需配置Svn import任務即可將工件添加到Remote Subversion存儲庫。
<import path ="/dir/containing/the/jar/and/pom"
url="svn://your/svn/repository"
message="release"/>
哪個開源項目是由道路? – 2009-08-25 15:16:41
@Bno請參閱http://code.google.com/p/equalsverifier/ – jqno 2010-07-23 20:37:08
thx,看起來非常酷! – 2010-07-26 07:50:01