1

Certain developers on my project are unable to successfully execute an ivy resolve. We use an ivy ssh resolver to a remote server/file system. Impacted developers are typically resolving all but 1 or 2 dependencies successfully. The dependencies that fail to be resolved are the larger jars (example: nasa worldwind). Again, most users are able to resolve all dependencies with no problem. The eclipse project, ivy.xml and ivysettings.xml all come from the software repo and are identical between impacted and unimpacted users. If I copy the failed dependency from my ivy2 cache into an impacted users ivy2 cache, the problem goes away. The ivy resolve is initiated through eclipse/ivyDE.

Things I believe are eliminated:

  • differences in ivy.xml, ivysetings.xml, and eclipse project
  • existance of dependency on server
  • file permission issues on remote file system
  • network connectivity
  • version differences in eclipse/ivyDE

Question: What could be causing ivy resolves to fail for some users? I am starting to suspect this may be a timeout issue with ivy, given that it happens with larger jars.

Configuration:

  • Eclispe Kepler
  • IvyDE 2.2.0

example 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>

example 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>
4

1 回答 1

2

使用 Eyad Ebrahim 的建议,我能够检查 IvyDE 控制台并深入了解问题所在。问题原来是几个开发人员没有在 eclipse 全局或项目 IvyDE 属性中设置 ivysettings.xml。IvyDE 在默认情况下尝试使用 Internet 解析器,这导致了两个后续问题,包括没有针对 worldwind 等产品的公共回购,以及我公司网络基础设施阻止某些文件。正确配置 ivysettings.xml 文件后,使用了上面列出的自定义文件/url 解析器并且一切正常。

谢谢!

于 2014-03-27T15:37:35.647 回答