2016-09-26 88 views
1

我們目前使用的是Nexus OSS 3.0.0-03,我需要通過控制檯檢索最新的快照(或快照名稱)。如何從Nexus OSS 3.0中檢索最新的快照

在不同的其他文章中提到的REST的API(... /服務/本地/工件/行家/ ...)已不存在的的Nexus OSS 3.X(我得到找不到404)

https://books.sonatype.com/nexus-book/3.0/reference/scripting.html#_writing_scripts描述,可以寫「自己的」 REST調用,但我發現沒有文件怎麼寫他們(沒有API的文檔,在https://github.com/sonatype/nexus-book-examples/tree/nexus-3.0.x沒有例子)

有誰知道是否和如何有可能如何檢索快照名稱

  • 通過URL
  • 通過「自己的」休息腳本(例如, repository.getLastestSnapshot(...)
  • 通過搖籃(如repositories.mavenDeployer)
+1

我越來越確信的Nexus 2.13是基於Maven的發展更好的選擇... –

+0

對於基於Maven的發展的建議確實是堅持2.x現在。請參閱https://www.sonatype.com/download-oss-sonatype –

回答

0

我解決了使用Groovy葡萄用小的Groovy腳本的問題:

@GrabResolver(name = 'my-SNAPSHOT', root = 'http://mynexus:8081/repository/Snapshot-Repo/', m2Compatible = 'true') 
@Grab('commons-io:commons-io:1.2') 
import org.apache.commons.io.* 


public class exec { 
    public static void main(String[] args) { 
     try { 
      def g = groovy.grape.Grape.grab(group: "com.x.x.x", module: args[0], version: args[1], ext: 'zip') 
      def depfile = groovy.grape.Grape.resolve([:], [group: "com.x.x.x", module: args[0], version: args[1], ext: 'zip'])[0] 
      def workingFile = new File("release.zip"); 
      FileUtils.copyFile(new File(depfile), workingFile) 
     } catch(Exception e){ 
      println e 
     } 
    } 
} 
0

目前還沒有REST API或支持的內部API來計算最新的快照版本。

+0

問題是:未來是否會支持該功能,如果支持,何時將支持 –

+1

是的 - 它將受支持。當......我不知道。我建議你在nexus-users列表上詢問以獲得項目管理團隊的答案。 –

0

我不推薦它在依賴項插件get中有一個目標。結合「--update-snapshots」標誌應該在你的場景中正常工作。