2015-05-29 34 views
1

我有一個使用Maven的release和使用方向nexus-staging-maven插件從http://central.sonatype.org/pages/ossrh-guide.htmlhttp://central.sonatype.org/pages/apache-maven.html通過OSSRH部署到Maven的中央項目。同時部署神器Maven的中央和內部的Nexus

這工作正常,但它通常需要幾個小時才能在Maven Central上看到工件。通常我們希望立即使用已部署的工件,因此我們最終將其從本地存儲庫部署到使用deploy:deploy-file的內部Nexus服務器。這種方法很有效,但它不雅觀且容易忘記。作爲發佈過程的一部分,是否有任何方法將Maven部署到內部Nexus以及Maven Central?

注:這個問題是相似的,但並不完全一樣,https://stackoverflow.com/questions/29019682/promote-artifact-from-internal-nexus-repository-to-maven-central

回答

1

添加其他執行到maven-deploy-plugin

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <version>${maven.deploy.plugin.version}</version> 
    <executions> 
    <execution> 
     <id>nexus-deploy</id> 
     <phase>deploy</phase> 
     <goals> 
     <goal>deploy</goal> 
     </goals> 
     <configuration> 
     <altDeploymentRepository>yourNexusRepo</altDeploymentRepository> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

的yourNexusRepo值將是這個樣子:

releases::default::https://nexus.host.org/nexus/content/repositories/releases 

您應該能夠從Nexus獲得確切的網址。第一個::之前的部分是存儲庫標識。

+0

感謝您的迴應。我試過這個,但它不起作用 - 它只部署到Maven Central,並沒有試圖部署到我的本地Nexus。我懷疑這是由於release插件如何進行部署。 –

+0

我們使用這種配置在同一個Nexus實例中部署到兩個不同的發行版存儲庫,所以我知道它適用於某些情況。查看調試輸出以確保兩個執行實際上正在運行,或者看看發生了什麼,可能會很有趣。我們不使用nexus分段插件,這是一個區別。 – user944849