intellij过于频繁地更新本地maven存储库

时间:2017-11-08 08:29:08

标签: maven intellij-idea

我使用intellij 2017.3,它每次编辑pom.xml时都会更新本地maven存储库索引,无论依赖是否存在。它会扼杀机器。 顺便说一句,在settings-> maven-> Reposities local show“Error”enter image description here 即使我删除了一个依赖项,它也会触发后台工作:

enter image description here

1 个答案:

答案 0 :(得分:0)

我怀疑你将项目的索引与maven存储库索引混淆。更新POM文件时,IDEA将重新导入maven POM。也就是说,它会将IDEA项目配置重新同步到POM的配置。执行此操作时,它将索引导入的所有新依赖项,从而更新项目的索引。您将在进度条中看到这一点。但是,它不会更新maven存储库的索引。

您可以将IDEA配置为在更改时自动或手动重新导入POM。为了快速更改(例如,添加一个新的依赖项),自动导入效果很好。但是如果您正在大量编辑POM文件,那么使用手动导入可能会更好,尤其是在性能较差的系统上。在设置>中进行此设置构建,执行,部署>构建工具> Maven>导入> “自动导入Maven项目”。这将改变当前项目。要更改未来新项目的默认设置,请在设置>下的相同位置进行设置。其他设置>默认设置>构建... 请记住,在重新导入之前,对POM的任何更改(添加/删除/更新依赖项等)都不会在IDEA项目中生效。您可以通过指示需要重新导入的通知窗口,或通过重新导入按钮{maver工具窗口enter image description here

执行此操作

如果您遇到性能问题,可能需要增加分配给IntelliJ IDEA的内存(假设您的系统上有可用内存)。请参阅Increasing Memory Heap帮助页面上的 重要信息 部分。 (我怀疑这会解决你的问题。如果你有RAM,请尝试给它2或3个演出)

存储库索引仅在手动进入“设置”,选择存储库,然后单击“更新”按钮时更新。 (请参阅Maven Repositories帮助页面)。编辑POM时,它们不会更新(除非您添加<repository>,在这种情况下会生成一个条目,但在您单击按钮执行此操作之前,索引不会更新。)存储库索引用于编辑POM或搜索要添加的工件/依赖项时自动完成。以下两个示例的屏幕截图。

您的屏幕截图显示了本地存储库发生的错误。显示的路径是一条不寻常的路径。我必须假设您已通过<localRepository>文件中的settings.xml元素进行了设置。我建议点击“更新”按钮。然后,如果/当它再次导致错误时,请转到帮助&gt;显示登录资源管理器,查看日志中是否有关于该问题的信息。您的仓库或其元数据文件中可能存在一些损坏。

使用Maven资源库指数的自动完成和搜索示例

Auto complete in maven POM

Search for Maven Artifact