【问题标题】:How to trigger IntelliJ to reimport single Maven dependency?如何触发 IntelliJ 重新导入单个 Maven 依赖项?
【发布时间】:2020-11-26 00:48:04
【问题描述】:

我有一个工作流在一个应用程序和它的一个库上工作,看起来有点像这样:

对库进行更改 -> 将库 jar 推送到远程 Maven 存储库,无需更改版本 -> 从远程仓库拉取更新的库 jar 到下游应用程序 -> 测试并更改应用程序和库

但似乎 IntelliJ 索引和/或缓存 Maven 依赖项的方式不受我从 Maven 界面运行全新安装的影响。有没有一种万无一失的方法可以强制 IntelliJ 丢弃任何缓存的依赖项并重新导入,或者可能只为所需的库执行此操作?

【问题讨论】:

    标签: maven intellij-idea


    【解决方案1】:

    这很可能与 IntelliJ 无关。由于版本号相同,maven 不会重新下载你的依赖。尝试从 maven 存储库中删除本地依赖项:

    rm -rf ~/.m2/repository/<..path to your library package..>
    

    您还可以通过将库用作本地依赖项来避免将库推送到远程存储库,并完全在本地进行测试。对于这种方法,请在此处查看答案:How to add local jar files to a Maven project?

    或者由于您没有有效地更改库版本,正确的方法是使用库项目源作为 IDE maven 项目的直接依赖项。为此 - 将此 Maven 库项目作为新模块添加到现有 Maven 项目:文件 |新... | Module from Existing Sources... 并选择此库项目的 pom.xml 文件。

    【讨论】:

    • 我实际上也尝试过,并在 IntelliJ 界面上同步。无论如何,它并没有像人们期望的那样刷新,这对我来说意味着它与 IntelliJ 有一切关系。我还尝试删除对 pom.xml 的依赖项并进行刷新,IDE 完全没有抱怨突然缺少支持此功能的依赖项
    • File > Invalidate Caches 似乎总是有助于解决此类 IntelliJ 问题。
    • 我希望找到一种方法来处理特定的缓存依赖项
    猜你喜欢
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 2012-07-12
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    相关资源
    最近更新 更多