错误的类文件: /C:/Users/86137/.m2/repository/org/springframework/spring-context/6.0.9/spring-context-6.0.

问题

启动SpringBoot项目,控制台报错

D:\JavaProjects\seckilldemo\src\main\java\com\haut\edu\seckill\controller\DemoController.java:3:38
java: 无法访问org.springframework.stereotype.Controller
  错误的类文件: /C:/Users/86137/.m2/repository/org/springframework/spring-context/6.0.9/spring-context-6.0.9.jar!/org/springframework/stereotype/Controller.class
    类文件具有错误的版本 61.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。

详细问题

笔者pom.xml 依赖代码


<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>3.1.0version>
        <relativePath/> 
    parent>
    <groupId>com.haut.edugroupId>
    <artifactId>generatorartifactId>
    <version>0.0.1-SNAPSHOTversion>
    <name>generatorname>
    <description>Demo project for Spring Bootdescription>
    <properties>
        <java.version>1.8java.version>
    properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>

        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-boot-starterartifactId>
            <version>3.4.0version>
        dependency>
        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-generatorartifactId>
            <version>3.4.0version>
        dependency>
        <dependency>
            <groupId>org.freemarkergroupId>
            <artifactId>freemarkerartifactId>
            <version>2.3.30version>
        dependency>
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <scope>runtimescope>
        dependency>

    dependencies>

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

project>

解决方案

1、修改spring-boot-starter-parent依赖版本号,将其修改3.0以下
对于笔者而言,即将

<parent>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-parentartifactId>
    <version>2.3.4.RELEASEversion>
    <relativePath/> 
parent>

修改为

<parent>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-parentartifactId>
    <version>2.3.4.RELEASEversion>
    <relativePath/> 
parent>

2、重新加载Maven
错误的类文件: /C:/Users/86137/.m2/repository/org/springframework/spring-context/6.0.9/spring-context-6.0._第1张图片
重启项目即可
若是还是报上述错误,请继续尝试以下方法
打开控制台终端命令输入行
错误的类文件: /C:/Users/86137/.m2/repository/org/springframework/spring-context/6.0.9/spring-context-6.0._第2张图片
执行以下命令
3、清理Maven本地仓库

mvn dependency:purge-local-repository

4、更新Maven依赖项

mvn clean install

5、清理并重新构建项目

mvn clean package

6、重新加载Maven(即步骤2)
再次重启即可

原因

SpringBoot使用了3.0或者3.0以上,因为Spring官方发布从Spring6以及SprinBoot3.0开始最低支持JDK17,所以仅需将SpringBoot版本降低为3.0以下后,重新加载Maven即可完成依赖配置。当然,开发者也可以更换JDK版本,使用JDK17进行开发。

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
在这里插入图片描述

你可能感兴趣的:(spring,mybatis,java)