情况描述:

    <!--统一管理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
此时,就不在爆红了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐