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



我对Ivy不熟悉。我认为这是一种从存储库自动下载jar的实用程序,比如maven。

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

在我用Eclipse的SVN插件下载了这个项目后,我用鼠标右键选择了它,并执行了Ivy-Resolve命令(使用IvyDE Eclipse插件)。之后我发现在包资源管理器的ivy.xml[*]节点下出现了很多jar。

我猜这些图书馆是Ivy下载的。

但生成的源代码有一个错误,表明一个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兼容的存储库?

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

您可以很容易地将java.net添加为一个额外的存储库,如下所示:

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

参考:

  • ibiblio分解器
  • ivysettings.xml

jaudiotagger决心

我试图重现你的错误,但对我来说,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

最新更新