【问题标题】:In IDEA, is there a way to force reindexing of Maven snapshots?在 IDEA 中,有没有办法强制重新索引 Maven 快照?
【发布时间】:2010-03-04 08:50:11
【问题描述】:

我们有一个大型的多模块 Maven 项目。通常的工作方式是检查一些你感兴趣的模块,对于它们依赖的其他模块,使用 Maven 提供的快照 JAR。

这似乎很有效;当我们需要更新快照时,我们只需从“Maven 项目”选项卡强制重新导入。但是,重新导入的快照似乎从未重新编制索引。

重现步骤:

  1. 在一个项目中,签出/配置一个依赖于某个其他模块的 Maven 快照的模块。
  2. 在单独的项目中,对其他模块进行更改,例如添加一个方法,并将其部署到 Maven 存储库。
  3. 在第一个项目中,更新快照。
  4. 在第一个项目中,编写一些调用新方法的代码。

预期:

  • 调用新方法没有问题。

实际:

  • 方法调用用“无法解析方法”错误红线。然而:
    • 代码会编译(通过构建或上下文菜单)
    • 代码会运行,包括调用新方法的代码

有没有办法解决这个问题?摆脱红线,自动完成等工作会很好,并且通常能够以您应该的方式继续使用 IDEA。

可能相关:我们混合了 Eclipse 和 IDEA 开发人员,为了解决一些 Eclipse/Maven 集成错误,我们在 pom.xml 文件中将快照 updatePolicy 设置为“never”。但是,我希望 IDEA 设置(快照更新策略:始终更新)会覆盖此设置,除非我误解了该设置的作用。

(“从不”可能看起来违反直觉,但我认为这对开发人员来说是正确的:手动更新依赖项,就像手动从 VCS 更新源代码一样。对于真正的构建,我们让 Hudson 覆盖 POM 设置。更重要的是,将其设置为“从不”会阻止 Eclipse 进行不必要的完全重新编译。)

【问题讨论】:

    标签: intellij-idea maven


    【解决方案1】:

    有时单击“同步”(窗口左上角保存按钮附近的黄色箭头)会为我解决这个问题 - 我认为它会迫使 IDEA 在文件系统上查找任何更新的 JAR 文件。可能是文件系统通知中的错误...

    (在这种情况下,您的 maven 项目指向所有正确的 JAR,但 IDEA 没有重新索引新的 JAR 文件。所以问题出在文件系统索引,而不是 maven 项目设置)

    【讨论】:

    • 自从我发布之后我已经换了工作,但根据最近使用 IDEA 和 Maven 的经验,我怀疑你是对的——如果“同步”不能解决它,可能会强制重建索引会。
    • 我很少需要重建索引(假设您的意思是使缓存无效?)
    【解决方案2】:

    我执行了以下操作:

    打开首选项 > 构建、执行、部署 > 构建工具 > Maven > 存储库

    选择适当的存储库(本地)并单击更新。

    重新索引并在依赖项 jar 中搜索新添加的类有效,IntelliJ 建议了工件和相关导入。

    【讨论】:

      【解决方案3】:

      抱歉,我并没有真正的答案,但我非常怀疑您的问题来自 updatePolicy 设置为 never。你能澄清为什么你认为这是必要的吗?如果 IDEA 设置没有正确覆盖它,我一点也不感到惊讶。您可以使用 maven 帮助插件和有效的 pom 来查看它是否适合 IDEA。

      哦,你最后在 () 中的理由听起来很可疑。我在 Eclipse 中没有遇到这些问题。你在使用 M2Eclipse 插件吗?我认为“从不”对开发人员来说是不正确的。事实上,我认为它应该始终适用于开发人员......这是默认行为。

      【讨论】:

      • 在他们升级到 2010-02-09 版本的 M2Eclipse 之前,这里没有人遇到过问题,但 IAM 出现了类似的问题。也许这也是我们代码库大小的一个因素。为什么你认为“总是”是正确的?在我看来,这似乎意味着对您当前未处理的任何代码的更新都会被推送给您,无论您是否想要它们,而不是在您想要它们时拉取它们。如果该代码也在积极(可能会破坏稳定)开发中,这似乎是个坏消息。但也许我误解了设置?
      猜你喜欢
      • 2014-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      相关资源
      最近更新 更多