常春藤下载的罐子比预期的要多
Posted
技术标签:
【中文标题】常春藤下载的罐子比预期的要多【英文标题】:Ivy downloading more jars than expected 【发布时间】:2011-11-14 10:59:46 【问题描述】:总结: Ivy 下载的 jars 比我预期的要多,我不知道为什么。
详情: 我正在将我的项目从使用 Maven Ant Tasks 进行依赖管理转换为 Ivy。
到目前为止,我做了以下工作:
-
将 IvyDE 安装到我的 Eclipse (Helios) 中
创建了一个 ivy.xml
因为我之前成功使用了 Maven Ant 任务,所以我复制了我的
从我的 build.xml 到 ivy.xml。我确定要改变
使用 Ivy 格式(org、name、rev)的依赖声明。
将 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>
【问题讨论】:
【参考方案1】:我遇到了类似的问题,发现此邮件有帮助。
问题是,如果你不指定任何 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
【讨论】:
以上是关于常春藤下载的罐子比预期的要多的主要内容,如果未能解决你的问题,请参考以下文章