POM文件中,${xxx.version} 引用版本号爆红问题处理
情况描述:<!--统一管理jar包版本--><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.comp
·
情况描述:
<!--统一管理jar包版本-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<junit.version>4.12</junit.version>
<log4j.version>1.2.17</log4j.version>
<lombok.version>1.16.18</lombok.version>
<mysql.version>5.1.47</mysql.version>
<druid.version>1.1.16</druid.version>
<mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
这里外面定义了类似 ${lombok.version} 这种版本号,但是,pom里面依然爆红
项目install确是正常的,如下图显示
这个原因是因为,你本地maven仓库,没有这个版本号的jar包依赖,所以爆红
但是,为什么不报错了
因为这里是
dependencyManagement管理的依赖
它的作用和dependencies是有区别的
前者,类似于定义好,用于子包引用依赖的时候,直接写上依赖,不需要写版本号
没有子包引用,则不会下载jar包
后者,是直接下载jar包关联到项目中
解决办法:
直接用dependencies把这些下载下来,然后,给dependencies套上dependencyManagement
此时,就不在爆红了
更多推荐
所有评论(0)