常春藤解决某些用户失败

Posted

技术标签:

【中文标题】常春藤解决某些用户失败【英文标题】:Ivy resolve failing for some users 【发布时间】: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,但最好您自己回答并告诉我们您最终做了什么并接受它。 【参考方案1】:

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

谢谢!

【讨论】:

以上是关于常春藤解决某些用户失败的主要内容,如果未能解决你的问题,请参考以下文章

某些用户的 CSRF 验证失败

我是网通为什么点某些网页的时候会出现 尊敬的用户:您输入的域名有误或站点访问失败,请尝试重新输入或使用

Facebook iPhone 应用程序中某些用户的 XMPPAuthentication 失败

为啥适用于 iOS 6 的 Facebook SDK 在某些用户上失败但在其他用户上成功?

安装cad某些产品失败有有影响吗

DNS缓存失败怎么解决?