maven - 如何触发 IntelliJ 重新导入单个 Maven 依赖项?
问题描述
我有一个工作流在一个应用程序和它的一个库上工作,看起来像这样:
更改库 -> 将库 jar 推送到远程 Maven 存储库,不更改版本 -> 将更新的库 jar 从远程存储库拉到下游应用程序 -> 测试并更改应用程序和库
但似乎 IntelliJ 索引和/或缓存 Maven 依赖项的方式不受我从 Maven 界面运行全新安装的影响。是否有一种万无一失的方法可以强制 IntelliJ 丢弃任何缓存的依赖项并重新导入,或者可能只为所需的库执行此操作?
解决方案
这很可能与 IntelliJ 无关。由于版本号相同,maven 不会重新下载你的依赖。尝试从 maven 存储库中本地删除依赖项:
rm -rf ~/.m2/repository/<..path to your library package..>
您还可以通过将库用作本地依赖项来避免将库推送到远程存储库,并在本地进行完全测试。对于这种方法,请在此处查看答案:如何将本地 jar 文件添加到 Maven 项目?
或者,由于您没有有效地更改库版本,因此正确的方法是使用库项目源作为 IDE maven 项目的直接依赖项。为此 - 将此 Maven 库项目作为新模块添加到现有 Maven 项目:文件 | 新... | Module from Existing Sources... 并选择此库项目的 pom.xml 文件。
推荐阅读
- python - 线程 StompReceiverThread-1 中的异常
- python - Python无法通过从另一个python脚本导入函数的子进程执行子python脚本
- codenameone - 代号一 - 溢出菜单的样式边框
- linux - 无法使用 Linux/Mesa 编译着色器
- sql - Teradata 查询、RBAC 配置文件
- java - 查询 Firebase 的位置范围
- c# - 在 Graph Explorer 中运行时,无法从 ac# 控制台应用程序获取团队详细信息
- python - 在不使用继承的情况下创建类似字典的对象
- python - Django 反向 url 不匹配模式
- cron - 带有 Ansible 的 Shell 命令