常春藤解决了一些用户失败的问题

时间:2013-12-18 14:07:23

标签: ivy ivyde

我项目中的某些开发人员无法成功执行常春藤解析。我们使用常春藤ssh解析器到远程服务器/文件系统。受影响的开发人员通常会成功解析除1或2个依赖项之外的所有依赖项。无法解析的依赖项是较大的jar(例如:nasa worldwind)。同样,大多数用户都能够毫无问题地解决所有依赖关系。 eclipse项目,ivy.xml和ivysettings.xml都来自软件仓库,在受影响和未受影响的用户之间是相同的。如果我将失败的依赖项从我的ivy2缓存复制到受影响的用户ivy2缓存中,问题就会消失。常春藤解决方案是通过eclipse / ivyDE启动的。

我相信的事情已被消除:

  • ivy.xml,ivysetings.xml和eclipse项目的差异
  • 存在对服务器的依赖
  • 远程文件系统上的文件权限问题
  • 网络连接
  • eclipse / ivyDE中的版本差异

问题:某些用户可能导致常春藤解决失败的原因是什么?我开始怀疑这可能是常春藤的超时问题,因为它发生在较大的罐子里。

配置:

  • Eclispe Kepler
  • 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>

1 个答案:

答案 0 :(得分:2)

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

谢谢!