常春藤解决某些用户失败 [英] Ivy resolve failing for some users

查看:135
本文介绍了常春藤解决某些用户失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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:

  • ivy.xml,ivysetings.xml和eclipse项目中的差异
  • 对服务器的依赖项存在
  • 远程文件系统上的文件权限问题
  • 网络连接
  • 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.

配置:

  • 开普勒(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>

推荐答案

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

Using Eyad Ebrahim's suggestions, I was able to examine the IvyDE console and gain insight into the problem. The issue turned out to be that several developers did not have an ivysettings.xml set in either the eclipse global or project IvyDE properties. IvyDE was attempting to use an internet resolver by default, which resulted in two subsequent issues including no public repo for products like worldwind, and blocking of certain files by my company network infrastructure. After correctly configuring the ivysettings.xml file, the custom file/url resolvers listed above were used and everything worked.

谢谢!

这篇关于常春藤解决某些用户失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆