在子工程中导入maven依赖时遇到了错误 Cannot resolve org.apache.poi:${poi.version}
依赖明明没有错,就是导入失败,依赖如下
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
明明写了版本号的,怎么变成了${poi.version}呢?
查看父工程pom文件,发现在往上三层的父级的工程(太爷爷工程)pom中定义了这个依赖的版本
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
**但是!**在这个pom并没有定义${poi.version}的值,在properties标签体中并没有定义poi.version的值,没有如下的代码
<properties>
<poi.version>3.14</poi.version>
</properties>
properties标签中定义了其他的版本号,但是没有org.apache.poi的,所有解析出错了,
解决:
我的情况时在定义了这个版本号的哪个工程pom文件已经不可改,但是当前工程和上一级工程(父工程)是可改的,我在父工程中properties加上了如下的代码,就可以了,开始尝试在当前工程的pom中加,但是失败了,移到父工程就可以了
<properties>
<poi.version>3.14</poi.version>
</properties>