解决:javac: 无效的目标发行版: 1.8
</div>
<div class="operating">
</div>
</div>
</div>
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37107280/article/details/73246274 </div>
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
<div class="htmledit_views" id="content_views">
此刻我怀着沉重的心情,写下这个恶心了我4个多小时的解决办法:
maven编译时候报的错误如下:
1.
2.
[INFO] BUILD FAILURE
3.
[INFO] ------------------------------------------------------------------------
4.
[INFO] Total time: 1.660 s
5.
[INFO] Finished at: 2017-06-14T16:18:54+08:00
6.
[INFO] Final Memory: 18M/216M
7.
[INFO] ------------------------------------------------------------------------
8.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project utils: Compilation failure
9.
[ERROR] Failure executing javac, but could not parse the error:
10.
[ERROR] javac: 无效的目标发行版: 1.8
11.
[ERROR] 用法: javac <options> <source files>
12.
[ERROR] -help 用于列出可能的选项
13.
[ERROR] -> [Help 1]
14.
[ERROR]
15.
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
16.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
17.
maven编译报错:
1, 看自己的Java环境变量是否正确配置:
JAVA_HOME : C:\Program Files\Java\jdk1.8.0_92 //安装的Jdk路径
PATH: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASS_PATH: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //注意前面的那个点和后面的分号
按下"window"+R 输入cmd 按下"ENTER" 输入java和javac 出现下图说明配置成功:
2,确认自己的maven配置的jdk的版本正确:
按下"window"+R 输入cmd 按下"ENTER" 输入mvn -v 出现下图说明配置正确:
3,"ctrl+shift+alt+s" , 打开project settings,确定项目的jdk和sdk是是否配置正确:
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版本配置正确:
1.
2.
<profile>
3.
<id>jdk-1.8</id>
4.
5.
<activation>
6.
<activeByDefault>true</activeByDefault>
7.
<jdk>1.8</jdk>
8.
</activation>
9.
<properties>
10.
<maven.compiler.source>1.8</maven.compiler.source>
11.
<maven.compiler.target>1.8</maven.compiler.target>
12.
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
13.
</properties>
14.
15.
<repositories>
16.
<repository>
17.
<id>jdk17</id>
18.
<name>Repository for JDK 1.8 builds</name>
19.
<url>http://www.myhost.com/maven/jdk18</url>
20.
<layout>default</layout>
21.
<snapshotPolicy>always</snapshotPolicy>
22.
</repository>
23.
</repositories>
24.
</profile>
25.
7, 确定pom.xml配置是否正确:
1.
2.
<plugin>
3.
<groupId>org.apache.maven.plugins</groupId>
4.
<artifactId>maven-compiler-plugin</artifactId>
5.
<version>2.3.2</version>
6.
<configuration>
7.
<source>1.8</source>
8.
<target>1.8</target>
9.
<encoding>UTF-8</encoding>
10.
</configuration>
11.
</plugin>
12.
我是死在最后一步的,公司的项目很多是依赖关系,部分还升级到jdk1.8版本,但是其中一个项目的还是1.7的!所以在编译到这个的时候一直提示 javac: 无效的目标发行版: 1.8, 恶心至极!
补充说明:经过一段时间的使用,我又发现了最根本的问题,直接修改pom.xml文件知识让你能够启动不报错而已! 它真正的原因是maven的runner的jre的环境依然在使用jdk1.7,所以才导致的冲突!只有在这里修改maven的runner的jre才能从本质上解决这个问题!