Spring Boot 2.7.8 and later mysql-connector-java and mysql-connector-j

error message

        If you upgrade to Spring Boot 2.7.8, you can see an error because the mysql-connector-java dependency cannot be found.

Configuration:

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

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
	    <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

error message:

[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'dependencies.dependency.version' for mysql:mysql-connector-java:jar is missing. @ line 54, column 15
 @ 
[ERROR] The build could not read 1 project -> [Help 1]

reason

This is because mysql-connector-java is no longer managed by dependency management in Spring Boot 2.7.8.

Release v2.7.8 · spring-projects/spring-boot · GitHub

deal with

        The existing groupId for mysql: mysql-connector-java is a legacy form that has been maintained with the single word "mysql" for a long time.

https://blogs.oracle.com/mysql/post/mysql-connectorj-has-new-maven-coordinates

        The two versions 8.0.31 (released on October 14, 2022) and 8.0.32 (released on January 18, 2023) are maintained in parallel with mysql-connector-java/mysql-connector-j respectively. Boot 2.7.8 will be released this spring. Since then mysql:mysql-connector-java has been removed from dependency management.

Maven Central Repository SearchOfficial search by the maintainers of Maven Central Repositoryhttps://search.maven.org/artifact/mysql/mysql-connector-java

Maven Central Repository SearchOfficial search by the maintainers of Maven Central Repositoryhttps://search.maven.org/artifact/com.mysql/mysql-connector-j

        So from now on you can use com.mysql:mysql-connector-j dependency.

        Since Spring Boot 2.7.8, change mysql:mysql-connector-java -> com.mysql:mysql-connector-j and delete mysql-connector-java dependency management

<dependency>
	<groupId>com.mysql</groupId>
	<artifactId>mysql-connector-j</artifactId>
</dependency>

reference

Change mysql:mysql-connector-java -> com.mysql:mysql-connector-j and remove mysql-connector-java dependency management since Spring Boot 2.7.8

おすすめ

転載: blog.csdn.net/yangyangye/article/details/131959080