如何配置download.java.net存储库以便与Ivy一起使用?

时间:2012-04-02 13:19:58

标签: java eclipse maven dependencies ivy

我不熟悉常春藤。我认为这是从存储库中自动下载jar的一些实用工具,如maven。

我已经下载了一个项目(使用svn checkout http://red5.googlecode.com/svn/java/server/trunk/命令的red5),该项目配置了Ivy。问题不是关于red5,而是关于Ivy。

在我使用Eclipse的SVN插件下载了这个项目后,我选择了右键并执行Ivy-Resolve命令(使用IvyDE eclipse插件)。之后我发现很多jar出现在package explorer中的ivy.xml[*]节点下。

我猜这些库是常春藤下载的。

但是结果源代码有一个错误,表明一个jar是旧版本。这是jaudiotagger-1.0.8.jar。它的包org.jaudiotagger.tag不包含源所需的FieldKey类。

接下来我查看'ivy.xml`并查看

<dependency name="jaudiotagger" rev="2.0.4-SNAPSHOT" />

这不意味着配置需要2.0.4版本的jar。那么为什么Ivy下载了1.0.8版本呢?

如何检查存储库是否包含所需文件? Maven中央存储库包含版本2.0.3,它不是2.0.4,但是比1.0.8更新。 Ivy应该浏览一下吗?

编辑1

我发现2.0.4版本的pom文件在这里:http://download.java.net/maven/2/org/jaudiotagger/2.0.4-SNAPSHOT/jaudiotagger-2.0.4-SNAPSHOT.pom

我想我可以从同一目录中获取jar本身。

但我可以将这个地方配置为Ivy的存储库吗?这个地方是不是Maven兼容的存储库?

1 个答案:

答案 0 :(得分:1)

项目的根文件夹中有一个ivysettings.xml文件。它包含构建脚本使用的所有存储库。

您可以轻松地将java.net添加为额外的存储库,如下所示:

<ibiblio name="java.net" m2compatible="true" root="http://download.java.net/maven/2/"/>

参考:

jaudiotagger resolve

我尝试重现您的错误,但对于我来说,在Google代码回购中找到了2.0.4快照:

 trying http://red5.googlecode.com/svn/repository/jaudiotagger-2.0.4-SNAPSHOT.jar
    tried http://red5.googlecode.com/svn/repository/jaudiotagger-2.0.4-SNAPSHOT.jar
googlecode: no ivy file found for red5#jaudiotagger;2.0.4-SNAPSHOT: using default data
checking red5#jaudiotagger;2.0.4-SNAPSHOT[default] from googlecode against [none]
module revision kept as first found: red5#jaudiotagger;2.0.4-SNAPSHOT[default] from googlecode
found red5#jaudiotagger;2.0.4-SNAPSHOT in googlecode