Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用常春藤API获取依赖项的最新版本?_Java_Versioning_Ivy_Dependency Management - Fatal编程技术网

Java 使用常春藤API获取依赖项的最新版本?

Java 使用常春藤API获取依赖项的最新版本?,java,versioning,ivy,dependency-management,Java,Versioning,Ivy,Dependency Management,我们有一个简单的常春藤存储库,由内部服务器托管(提供JAR及其XML常春藤描述符的Apache httpd) 我现在需要以编程方式确定repo中依赖项的最新版本。因此,如果我们有两种版本的Mockito,我们的回购协议可能如下所示: mockito/ ==> organisation mockito-all ==> module 1.9.4/

我们有一个简单的常春藤存储库,由内部服务器托管(提供JAR及其XML常春藤描述符的Apache httpd)

我现在需要以编程方式确定repo中依赖项的最新版本。因此,如果我们有两种版本的Mockito,我们的回购协议可能如下所示:

mockito/                       ==>    organisation
    mockito-all                ==>    module
        1.9.4/                 ==>    revision #
            mockito-all-1.9.4.jar
            mockito-all-1.9.4-ivy.xml
        1.9.5/
            mockito-all-1.9.5.jar
            mockito-all-1.9.5-ivy.xml
如果我能从Java使用Ivy来确定“1.9.5”是我们拥有的
mockito/mockito-all
模块的最新版本,那就太好了

这可能不是Ant任务,而是一些使用
ivy.jar
中存在的类的定制Java代码


有什么想法吗?提前谢谢

我相信您可以使用
latest.integration
revision值来指定所需的绝对最新版本。例如,指定您的常春藤依赖项,如下所示:

<dependency org="mockito" name="mockito-all" rev="latest.integration" />


如果不需要“edge”版本,您还可以指定
latest.milestone
latest.release
。下面是关于
rev
值的一个很好的解释:

所以我发现你的问题也在做同样的事情,经过一些研究发现,在Ivy 2.4中,这样的事情是存在的

以下是一个示例步骤:

<target name="ivy.outdated" description="Check ivy for outdated jars">
    <ivy:resolve/>
    <ivy:checkdepsupdate showTransitive="false" revisionToCheck="latest.release"/>
</target>


谢谢@Polaris8787,但我不是说在构建时。我需要构建一个Java工具来扫描我们的常春藤回购协议,并告诉我每个模块的最新版本号,然后将它的定制报告放在一起。所以我需要在Java代码中直接调用一些Ivy任务,然后使用Ivy API以字符串形式获取版本号。@user1768830完成了吗?我在找类似的东西。我不希望艾薇只使用“最新的”。我想手动指定每个版本,但我想要一个报告,上面写着“SomeJar的新版本可用”,这样我就可以决定是否升级。Ivy已经获得了这些信息,以便解决动态规范,如“0.0+”——我只希望它能提供给我,以便我可以做出决定。