记一次项目启动报java.lang.StackOverflowError

项目是spring boot,以前没有问题,忽然有一次debug方式启动的时候报这个错误。html

由于其余同事没有问题,线上也没有问题,因此先排除了是代码问题。java

开始觉得电脑开的软件太多,而后给jvm的内存过小,尝试关闭多个软件无果后,重启电脑,电脑启动后只打开idea,启动项目,错误依旧。spring

后面尝试手动设置jvm启动参数,设置了xms、xmx等参数后依然无效。apache

仔细观察启动过程,发现错误出如今编译的时候。测试不启动项目,直接rebuild project,也报一样的错误。这时候确认是编辑过程哪里出了问题。oracle

maven clean一下,再package一下。发现package最后会报一个错误:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:jvm

查看pom文件,有这么几个propertiesmaven

<maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <java.version>1.8</java.version>

打开idea的settings,查找java compiler,发现其设置的就是1.8,再打开project structures,发现project sdk是jdk11,猜想是不是这里有问题?赶忙到oracle的官网下载对应版本的jdk(8.0),在等待下载的过程当中,首先测试修改了project structures的language level,设置成8-lambdas****,应用以后重启项目,结果项目启动。。问题解决。ide

核心:设置项目的编译级别和pom设置的一致(1.8),测试

设置language level也和pom一致ui

原文地址:https://blog.easytake.top/245.html#more-245

相关文章
相关标签/搜索