解決:javac: 無效的目標發行版: 1.8
版權聲明:本文為博主原創文章,未經博主允許不得轉載。 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編譯時候報的錯誤如下:
-
[INFO] BUILD FAILURE
-
[INFO] ------------------------------------------------------------------------
-
[INFO] Total time: 1.660 s
-
[INFO] Finished at: 2017-06-14T16:18:54+08:00
-
[INFO] Final Memory: 18M/216M
-
[INFO] ------------------------------------------------------------------------
-
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project utils: Compilation failure
-
[ERROR] Failure executing javac, but could not parse the error:
-
[ERROR] javac: 無效的目標發行版: 1.8
-
[ERROR] 用法: javac
<options>
<source files>
-
[ERROR] -help 用於列出可能的選項
-
[ERROR] -> [Help 1]
-
[ERROR]
-
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
-
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
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版本配置正確:
-
<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>
-
<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才能從本質上解決這個問題!