Maven添加PostgreSQL依赖时出现版本覆盖警告的含义是什么?
关于Maven PostgreSQL依赖警告的解释
嘿,这个警告其实是Maven在给你提个醒,我给你掰扯清楚:
这个警告Overriding managed version 9.4.1212.jre7 for postgresql的核心意思是:你的项目里存在**依赖管理(dependencyManagement)**配置(大概率是你继承的父POM里定义的,也可能是当前POM自己的dependencyManagement节点),已经为postgresql驱动指定了一个统一管控的版本9.4.1212.jre7。
但你自己在依赖声明里明确指定了版本:
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.4-1206-jdbc42</version> </dependency>
Maven的逻辑是:如果依赖管理里有统一版本,默认会优先使用那个版本来避免版本冲突;但你手动指定了版本,它就会忽略管控的版本,改用你写的这个,同时抛出这个警告让你知道“我用了你指定的版本,没按管控的来哦”。
给你两个小建议:
- 如果你确定就要用
9.4-1206-jdbc42这个版本,那这个警告完全不影响项目运行,就是个提醒,不用管它; - 如果你想遵循项目的统一版本规范,那直接把依赖里的
<version>标签删掉就行,Maven会自动使用依赖管理里的9.4.1212.jre7版本。
内容的提问来源于stack exchange,提问作者user9279273
相关产品推荐
相关产品推荐

