没有版本的 Maven 休眠依赖项。 Spring 宠物诊所

Maven hibernate dependecy without version. Spring petclinic

研究spring-项目示例,我发现了一个代码片段:

        <!-- HIBERNATE -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
        </dependency>

在那里工作正常,但是当我尝试将相同的片段添加到我的 pom.xlm 时,我得到了 [ERROR] 'dependencies.dependency.version' for org.hibernate:hibernate-entitymanager:jar is missing.

给我解释一下,为什么它在这里有效 https://github.com/spring-projects/spring-petclinic/blob/master/pom.xml,但在通用 pom.xml 中无效 pom.xml。

这是因为它使用 <dependencyMangement> 导入 platform-bom,它本质上是一个定义默认依赖项的 POM 工件。

Maven 使用它来解析 Hibernate 依赖项的版本(Maven 必须知道 3 个 GAV 属性才能识别工件)。

确保将物料清单也包含在 <dependencyManagement> 部分中。此 bom 包括所有依赖项的版本。

有关 bom 的更多信息,请参阅 this