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

原创
2019/10/14 09:29
阅读数 507

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

因为其他同事没有问题,线上也没有问题,所以先排除了是代码问题。

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

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

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

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

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

    <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****,应用之后重启项目,结果项目启动。。问题解决。

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

设置language level也和pom一致

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

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部