文章出自:https://blog.csdn.net/qq_37107280/article/details/73246274#commentBox
受最后解决我问题的博主影响我也记录下这个恶心的问题,就是这个无效的发行版1.8,常规的几个配置改统一后还是没解决,最后应该是D:\apache-maven-3.2.5\conf下的settings的jdk版本配置正确。(最后再多说一句,为什么要修改JDK版本呢?因为JDK的版本不一致居然会导致Error:java: java.lang.StackOverflowError!!!!!这个问题我死也不会想到会是这个原因,还是同事提醒)
3.1,project 下的project SDK,是否为项目需要的jdk:
3.2 确定SDK是否选中:
3.3 language level不能比项目的jdk版本高:
3.4确定modules下dependencies配置的jdk是否正确:
4, "run/dug configurations" >>>需要运行的项目名称 >>>>>>runner >>>>JRE配置是否正确:
5 , 按下 "ctrl + alt + s " 打开settings确定Java compiler 的 Target bytecode version 是否选中项目需要的jdk版本:
6, 确定D:\apache-maven-3.2.5\conf下的settings的jdk版本配置正确:
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
<repositories>
<repository>
<id>jdk17</id>
<name>Repository for JDK 1.8 builds</name>
<url>http://www.myhost.com/maven/jdk18</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
</profile>
7, 确定pom.xml配置是否正确:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
我是死在最后一步的,公司的项目很多是依赖关系,部分还升级到jdk1.8版本,但是其中一个项目的还是1.7的!所以在编译到这个的时候一直提示 javac: 无效的目标发行版: 1.8, 恶心至极!
补充说明:经过一段时间的使用,我又发现了最根本的问题,直接修改pom.xml文件知识让你能够启动不报错而已! 它真正的原因是maven的runner的jre的环境依然在使用jdk1.7,所以才导致的冲突!只有在这里修改maven的runner的jre才能从本质上解决这个问题!
---------------------
作者:代码也文艺
来源:CSDN
原文:https://blog.csdn.net/qq_37107280/article/details/73246274
版权声明:本文为博主原创文章,转载请附上博文链接!