我项目中的某些开发人员无法成功执行常春藤解析。我们使用常春藤ssh解析器到远程服务器/文件系统。受影响的开发人员通常会成功解析除1或2个依赖项之外的所有依赖项。无法解析的依赖项是较大的jar(例如:nasa worldwind)。同样,大多数用户都能够毫无问题地解决所有依赖关系。 eclipse项目,ivy.xml和ivysettings.xml都来自软件仓库,在受影响和未受影响的用户之间是相同的。如果我将失败的依赖项从我的ivy2缓存复制到受影响的用户ivy2缓存中,问题就会消失。常春藤解决方案是通过eclipse / ivyDE启动的。
我相信的事情已被消除:
问题:某些用户可能导致常春藤解决失败的原因是什么?我开始怀疑这可能是常春藤的超时问题,因为它发生在较大的罐子里。
配置:
示例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>
答案 0 :(得分:2)
使用Eyad Ebrahim的建议,我能够检查IvyDE控制台并深入了解问题。问题是,几个开发人员在eclipse全局或项目IvyDE属性中没有设置ivysettings.xml。 IvyDE默认尝试使用互联网解析器,这导致了两个后续问题,包括没有像worldwind这样的产品的公开回购,以及我的公司网络基础设施阻止某些文件。正确配置ivysettings.xml文件后,使用了上面列出的自定义文件/ URL解析器,一切正常。
谢谢!