重拾SpringBoot,IDEA(Intellij)中最低的java版本已经是Java17了,本文记录使用java8编写写SpringBoot+MyBatis+MySQL项目中遇到的问题,以作记录。

1 执行启动类时报错(无效的目标发行版: 17)

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project store: Fatal error compiling: 无效的目标发行版: 17

需要修改以下三个位置:

① File → Settings → Build, Execution, Deployment → Java Compiler,修改图中方框位置为8

Command line is too long 启动报错springboot idea社区版 springboot error_java

② File → Project Structure → Project Settings

  • Project
  • Modules

③ 因为这个项目是基于java8的,所以需要在pom.xml文件中将jdk的版本改为8,如下:

<properties>
        <java.version>8</java.version>
    </properties>
  1. 执行启动类报错
    使用IDEA直接创建SpringBoot项目后,执行启动类
Error:(3, 37) java: 无法访问org.mybatis.spring.annotation.MapperScan
错误的类文件: E:\Maven-Repository\org\mybatis\mybatis-spring\3.0.3\mybatis-spring-3.0.3.jar(org/mybatis/spring/annotation/MapperScan.class)
    类文件具有错误的版本 61.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。

这个需要更改SpringBoot的版本为低一级的,可能现在java8不维护了,当前项目中2.x的最高版本的SpringBoot为2.3.2.RELEASE

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

3 启动后如果页面报下图这样的错误(或js代码无法正常被服务器解析执行,体现在点击页面中的按钮没有任何响应),需要在IDEA 右侧双击执行clean,执行成功后再次双击执行install(或在Terminal中执行mvn clean,执行成功后再执行mvn install)。

Command line is too long 启动报错springboot idea社区版 springboot error_mybatis_02


如果页面问题没有解决掉,可以通过File → Invalidata Caches / Restart…,选择弹框中的Invalidate and Restart,如下图,清除IDEA缓存后再启动IDEA。

Command line is too long 启动报错springboot idea社区版 springboot error_spring_03


如果重启IDEA后还是不行,可以选择上面的菜单栏中Build → Rebuild Project。

Command line is too long 启动报错springboot idea社区版 springboot error_mybatis_04


如果还是不能解决掉,就需要再次重启IDEA;还是不能解决的话,建议重启电脑试试。

4 在IDEA中右侧双击install执行报错:

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project store: There are test failures.

可以在IDEA的Terminal中执行

mvn install -DskipTests

mvn install -Dmaven.test.skip=true

5 执行报错:java: 找不到符号

Error:(10, 31) java: 找不到符号
  符号:   类 PasswordNotMatchException
  位置: 程序包 com.cy.store.service.ex

如果一个类没有手动创建直接将这个类复制到项目中,IDEA会找不到这个类。之前的缓存导致不能够正常找到这个类的符号。
解决方法是:重新构建这个项目,即选择上面的菜单栏中Build → Rebuild Project。

6 重启IDEA后,引入内容报红

选择项目右键Maven → Reimport

Command line is too long 启动报错springboot idea社区版 springboot error_spring boot_05


7 再次打开IDEA,pom.xml出现黄色提示,如下图:

Command line is too long 启动报错springboot idea社区版 springboot error_java_06


解决方法:Setting → Editor → Inspections → Security,去掉下面图中两项的勾选,问题是解决掉了,不过目前不知道会不会有什么影响。

Command line is too long 启动报错springboot idea社区版 springboot error_spring boot_07


8 执行git add --all时有警告

warning: LF will be replaced by CRLF in src/main/resources/static/bootstrap3/

在git中执行:

git config --global core.autocrlf input