IntelliJ提示Maven导入模块修改配置重导入后丢失的含义及解决办法
警告含义
你遇到的警告原文如下:
Module xx is imported From Maven. Any changes made in its configuration might be lost after reimporting.
这个警告是IntelliJ的通用提示,含义如下:
- 当前模块是IntelliJ基于你的pom.xml配置自动导入生成的,模块的编译参数、JDK版本、依赖、资源规则等所有核心配置的唯一可信来源是pom.xml文件,而非IntelliJ的Modules配置面板
- 你在Modules配置面板修改参数并点击Apply后,这些改动只会保存在IntelliJ本地的项目缓存配置中,后续只要你手动触发Maven重新导入、或者IntelliJ自动执行Maven项目同步,所有你在面板中修改的配置都会被pom.xml中的配置覆盖,直接丢失
- 你给出的pom中已经配置了JDK1.8编译、UTF-8编码、资源目录过滤规则、spigot依赖等参数,如果你直接在Modules面板修改上述配置,同步后都会恢复为pom中的设定
解决方案
根据你的使用需求,对应处理方式如下:
- 若需要修改的配置长期生效:直接编辑pom.xml文件调整对应参数,修改完成后点击IntelliJ右侧Maven面板的刷新按钮触发同步,配置会自动同步到模块设置中,不会丢失也不会再触发该警告。例如要调整编译JDK版本,直接修改pom中<java.version>标签的值即可,无需在Modules面板操作。
- 若只是临时修改配置做测试:直接忽略该警告确认即可,改动会在Maven同步前一直生效,同步后会自动恢复为pom中的配置。
- 若完全不需要Maven同步管理模块配置(极度不推荐):可以打开IntelliJ设置→构建、执行、部署→构建工具→Maven→导入,取消勾选自动导入Maven项目即可,该操作会导致pom的变更无法自动同步到IntelliJ,容易出现配置不一致问题,非特殊情况不要使用。
内容的提问来源于stack exchange,提问作者KeenyTool
相关产品推荐
相关产品推荐

