【发布时间】:2014-01-06 18:15:06
【问题描述】:
我项目中的某些开发人员无法成功执行 ivy 解析。我们对远程服务器/文件系统使用 ivy ssh 解析器。受影响的开发人员通常会成功解决除 1 或 2 个依赖项之外的所有依赖项。无法解析的依赖项是较大的 jars(例如:nasa worldwind)。同样,大多数用户都能够毫无问题地解决所有依赖关系。 eclipse 项目、ivy.xml 和 ivysettings.xml 都来自软件仓库,并且在受影响用户和未受影响用户之间是相同的。如果我将失败的依赖项从我的 ivy2 缓存复制到受影响的用户 ivy2 缓存中,问题就会消失。常春藤解析是通过 eclipse/ivyDE 启动的。
我认为已经消除的东西:
- ivy.xml、ivysetings.xml 和 eclipse 项目的区别
- 存在对服务器的依赖
- 远程文件系统上的文件权限问题
- 网络连接
- eclipse/ivyDE 中的版本差异
问题:对于某些用户来说,什么可能导致 ivy 解析失败?我开始怀疑这可能是常春藤的超时问题,因为它发生在较大的罐子上。
配置:
- Eclispe 开普勒
- IvyDE 2.2.0
ivysettings.xml 示例:
<ivysettings>
<settings defaultResolver="test-chain" />
<resolvers>
<chain name="test-chain">
<ssh name="test-cm" host="IPaddress">
<ivy pattern="/cm/lib/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="/cm/lib/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</ssh>
<url name="test-cm-file">
<ivy pattern="file://cm/lib/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="file://cm/lib/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</url>
</chain>
</resolvers>
</ivysettings>
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="test"
module="Application"
status="integration">
</info>
<dependencies>
<dependency org="nasa" name="worldwind" rev="1.4.0"/>
</dependencies>
</ivy-module>
【问题讨论】:
-
在调试模式下运行 ANT,堆栈跟踪应该提供有关根本原因的更多信息
-
或者 eclipse ivy 控制台并放置更精细的日志级别。这将更好地消除不必要的 ant 日志记录。
-
感谢您的想法。由于假期关闭,开发者系统将不可用。我将在 2014 年初检查日志详细信息时尝试重现。
-
@Eyad Ebrahim - 您的评论导致了解决方案;你能做出回答,我会接受吗?
-
在这种情况下,您可以给一个好的 ol' upvote,但最好您自己回答并告诉我们您最终做了什么并接受它。