7

摘要: Ivy 下载的 jar 比我预期的要多,我不知道为什么。

详细信息: 我正在将我的项目从使用 Maven Ant Tasks 进行依赖管理转换为 Ivy。

到目前为止,我已经完成了以下工作:

  1. 将 IvyDE 安装到我的 Eclipse (Helios) 中
  2. 创建了一个 ivy.xml
  3. 由于我之前成功使用了 Maven Ant Tasks,因此我将我的 dendencies 从我的 build.xml 复制到了 ivy.xml。我确保将依赖项声明更改为使用 Ivy 格式(org、name、rev)。
  4. 将 IvyDE 类路径容器添加到我的 Eclipse 项目中。

现在,当我在 Eclipse 中运行 Ivy > Resolve 时,我可以看到 279 个 jar 被下载到“.ivy2\cache”。这比 Maven Ant Tasks 之前下载的 65 个 jar 包要多得多。

为什么常春藤要倒下这么多罐子?我知道 Ivy 也降低了源代码和一些 javadoc jars。这解释了一些额外的罐子,但我认为 Ivy 最多应该下载 195 个罐子(65*3)而不是 279 个。

我错过了什么或做错了什么?我很感激任何反馈和建议。

这是我的 ivy.xml 的内容

<?xml version="1.0" encoding="ISO-8859-1"?>

<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info
    organisation="org.robbins"
    module="FlashCardsWeb"
    status="integration">
</info>

<dependencies>

    <dependency org="org.apache.struts" name="struts2-core" rev="2.2.3"/>

    <dependency org="org.apache.struts" name="struts2-spring-plugin" rev="2.2.3">
        <exclude org="org.springframework" name="spring-web" />
        <exclude org="org.springframework" name="spring-beans" />
        <exclude org="org.springframework" name="spring-context" />
        <exclude org="org.springframework" name="spring-core" />
    </dependency>

    <dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" name="spring-beans" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" name="spring-context" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" name="spring-core" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" name="spring-jdbc" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" name="spring-orm" rev="3.0.5.RELEASE"/>

    <dependency org="org.apache.struts" name="struts2-tiles-plugin" rev="2.2.1.1"/>
    <dependency org="com.jgeppert.struts2.jquery" name="struts2-jquery-plugin" rev="3.0.1"/>
    <dependency org="com.jgeppert.struts2.jquery" name="struts2-jquery-richtext-plugin" rev="3.0.1"/>

    <dependency org="org.hibernate" name="hibernate-core" rev="3.6.2.Final"/>
    <dependency org="org.hibernate" name="hibernate-c3p0" rev="3.6.2.Final"/>
    <dependency org="org.hibernate" name="hibernate-entitymanager" rev="3.6.2.Final"/>
    <dependency org="org.hibernate" name="hibernate-tools" rev="3.2.4.GA"/>
    <dependency org="c3p0" name="c3p0" rev="0.9.1"/>

    <dependency org="org.slf4j" name="slf4j-simple" rev="1.6.1"/>
    <dependency org="commons-logging" name="commons-logging" rev="1.0.4"/>

    <dependency org="mysql" name="mysql-connector-java" rev="5.1.15"/>
    <dependency org="junit" name="junit" rev="4.8.1"/>
    <dependency org="log4j" name="log4j" rev="1.2.14"/>
    <dependency org="org.openid4java" name="openid4java-nodeps" rev="0.9.6" />
    <dependency org="org.apache.httpcomponents" name="httpclient" rev="4.0" />
    <dependency org="net.sourceforge.nekohtml" name="nekohtml" rev="1.9.10" />
</dependencies>

4

1 回答 1

7

我有一个类似的问题,发现这个邮件有帮助。

问题是如果你不指定任何 conf,Ivy 假设你想要 spring 的所有配置,其中包括可选的 conf。试试这个:

<dependency org="org.springframework" name="spring" rev="2.0.3"
conf="*->default"/>

http://mail-archives.apache.org/mod_mbox/ant-ivy-user/200703.mbox/%3C635a05060703310946q2f50880aqe07219c9e3026b83@mail.gmail.com%3E

于 2012-03-22T16:50:06.610 回答