gpt4 book ai didi

Spring Boot : The managed version is 1. 3.2.RELEASE Artifact 在 org.springframework.boot :spring-boot-dependencies:1. 3.2.RELEASE 中管理

转载 作者:行者123 更新时间:2023-12-04 13:06:55 25 4
gpt4 key购买 nike

我使用 Spring Boot 创建了一个骨架应用程序。这是我的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.lynas</groupId>
<artifactId>SpringMVCHibernate</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>

<name>SpringMVCHibernate</name>
<description>SpringMVCHibernate</description>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>


</project>

我停留在这一步:

Spring Boot: The managed version is 1.3.2.RELEASE The artifact is managed in org.springframework.boot:spring-boot-dependencies:1.3.2.RELEASE



enter image description here

当我尝试手动添加 Hiberante 5.1.0.Final 时,会出现以下通知:

Overriding managed version 4.3.11.Final for hibernate-core



enter image description here

帮我解决这些问题。

最佳答案

Spring Boot 为 Hibernate 提供了依赖管理。警告是 Eclipse 告诉您,您已通过直接在依赖项上声明版本来覆盖此依赖项管理。这是一件冒险的事情,因为您最终可能会在类路径上混合使用 Hibernate 版本。事实上,看看你的 pom,你已经覆盖了 hibernate-core 的版本,但没有覆盖 hibernate-entitymanager 的版本。这意味着您将在类路径上拥有前者的 5.1.0.Final 和后者的 4.3.11.Final。这几乎肯定会导致运行时出现问题。

使用 Hibernate 5 的一种更安全的方法是覆盖 Boot 的依赖管理。当您使用 spring-boot-starter-parent作为你的 pom 的 parent ,你可以通过覆盖 hibernate.version 来做到这一点。属性(property):

<properties>
<hibernate.version>5.1.0.Final</hibernate.version>
</properties>

这将确保 Spring Boot 为其提供依赖关系管理的所有 Hibernate 模块都将具有所需的版本。

最后,请注意。 Hibernate 5.1 是非常新的版本,并且包含一些重大更改,甚至从 5.0.x 开始。因此,您可能会遇到一些不兼容的问题。如果您不想走在最前沿,5.0.x 可能是更安全的选择。它将成为 Spring Boot 1.4 中的默认 Hibernate 版本。

关于Spring Boot : The managed version is 1. 3.2.RELEASE Artifact 在 org.springframework.boot :spring-boot-dependencies:1. 3.2.RELEASE 中管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35380819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com