2016-09-26 89 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”标志应该在你的场景中正常工作。