目录
一、报错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>