【idea】解决sprintboot项目创建遇到的问题

发布时间:2023年12月17日

目录

一、报错Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found

二、报错java: 错误: 无效的源发行版:17

三、java: 无法访问org.springframework.web.bind.annotation.CrossOrigin

四、整合mybatis的时候,报java.lang.IllegalArgumentException: Unable to instantiate org.mybatis.spring.boot


一、报错Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found

报错:在使用Maven下载相关包时,出现错误Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found

原因:无法识别使用哪个版本的?spring-boot-maven-plugin?包。

plugin在maven里需要专门的配置,没有配置的时候就会去普通仓库里找,但是plugin不是maven家的,所以找不到,对于这个情况呢,阿里有一个仓库可以下载这个,但是需要在settings.xml里进行配置。

解决方法:

在你maven安装地址里面的conf文件夹下面有一个settings.xml文件,右击pom.xml文件,选择maven,选择“open settings.xml ”可以快速打开这个文件。

对这个settings.xml文件添加下列代码,

<profile>
      <id>spring plugins</id>

      <activation>
        <jdk>spring plugins</jdk>
      </activation>

      <pluginRepositories>
        <pluginRepository>
          <id>spring plugins</id>
          <name>Spring plugins</name>
          <url>https://maven.aliyun.com/repository/spring-plugin</url>
          <layout>default</layout>
          <snapshotPolicy>always</snapshotPolicy>
        </pluginRepository>
      </pluginRepositories>
    </profile>

保存settings.xml文件,退出。

在pom.xml文件中,使用?<pluginManagement>?标签管理插件。具体做法是在原来的?<plugins>?标签外层增加?<pluginManagement>?标签,如下所示。

二、报错java: 错误: 无效的源发行版:17

原因:POM文件中配置的JDK版本信息?与?"Project Structure" 窗口配置的JDK版本?不一致。
比如在本案例中,POM文件配置的JDK版本为17,而Project Structure" 窗口配置的JDK版本却为1.8,两者不一致导致出现上述报错。

解决:

修改?"Project Structure" 窗口配置的JDK版本

打开 “Project Structure” 窗口,修改 Project 和 Modules 下的 JDK 版本,使其保持与POM文件中配置的版本信息一致(如本项目为JDK17)。如下图所示。

ok,问题解决。

三、java: 无法访问org.springframework.web.bind.annotation.CrossOrigin

报错:

java: 无法访问org.springframework.web.bind.annotation.CrossOrigin
  错误的类文件: /D:/apache-maven-3.8.6-bin/apache-maven-3.8.6/maven-jar/org/springframework/spring-web/6.0.14/spring-web-6.0.14.jar!/org/springframework/web/bind/annotation/CrossOrigin.class
    类文件具有错误的版本 61.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。

原因:

SpringBoot使用了3.0或者3.0以上,因为Spring官方发布从Spring6以及SprinBoot3.0开始最低支持JDK17,所以仅需将SpringBoot版本降低为3.0以下即可(或者将JDK版本升级为17及以上)。

Spring Boot 3.0 最低要求 Java 17,并向上兼容支持 Java 19。

解决方法:

(1)此处我选择降低SpringBoot版本,将SpringBoot版本降低为3.0以下,如下所示。
pom.xml

(2)还有另外一种方法:升级JDK版本,将JDK版本升级为JDK17及以上版本。如下所示。

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>first-spring-boot-project</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>first-spring-boot-project</name>
    <description>first-spring-boot-project</description>
    <properties>
        <java.version>17</java.version>
    </properties>

点击maven更新,

OK,问题解决。

四、整合mybatis的时候,报java.lang.IllegalArgumentException: Unable to instantiate org.mybatis.spring.boot

问题还原:初次搭建SpringBoot整合Mybatis框架,导入依赖的版本是3.0.1,我本地的jdk是1.8

原因:版本不兼容而已。

解决方法:降低依赖版本 ? ? ? ?

<!-- SpringBoot整合Mybatis,导入此启动器-->
<dependency>
? ? <groupId>org.mybatis.spring.boot</groupId>
? ? <artifactId>mybatis-spring-boot-starter</artifactId>
? ? <version>2.1.3</version>
</dependency>

文章来源:https://blog.csdn.net/qq_45956730/article/details/135045404
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。