致命错误编译:目标版本无效:1.8 - > [帮助1]

rvd*_*rvd 157 java maven

像一个发布在无效目标版本上的类似问题:1.7但是在关注博客之后我的问题仍未得到解决.

无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:在项目hm_app上编译(默认编译):致命错误编译:无效目标版本:1.8 - > [帮助1]

当我遇到这个问题时,我正在关注教程.

abt java & mvn

C:\mvn>echo %JAVA_HOME% 
C:\mvn>echo %JRE_HOME%
C:\mvn>echo %MAVEN_HOME% yields
Run Code Online (Sandbox Code Playgroud)

输出

C:\Program Files\Java\jdk1.7.0_51
C:\Program Files\Java\jre7
C:\apache-maven-3.0.4
Run Code Online (Sandbox Code Playgroud)

Zav*_*ior 258

您已将您的设置%JAVA_HOME为jdk 1.7,但您尝试使用1.8进行编译.安装jdk 1.8并确保你的%JAVA_HOME指向或将目标版本降至1.7.

目标版本无效:1.8

目标版本是指jdk版本.

  • 在我的案例中,另一个可能的解决方案是编辑pom.xml文件java.version> 1.8 </java.version>到java.version> 1.7 </java.version> (5认同)
  • 在我的Mac上,我导出JAVA_HOME =`/ usr/libexec/java_home -v 1.8`将JAVA_HOME设置为1.8 JDK的正确位置.提供您最喜爱的版本代替1.8.(在=之后和8之后有反推). (2认同)

Cam*_*edo 27

将值放在插件中:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

错误是使用:

<source>${java.version}</source>
<target>${java.version}</target>
Run Code Online (Sandbox Code Playgroud)

  • 就我而言,解决方案是将源和目标都设置为1.7 (2认同)

Rol*_*ger 20

在我的情况下,maven"运行配置"使用了错误的JRE(1.7).一定要检查Run - > Run Configurations - >(Tab)JRE是jdk1.8.x.


小智 13

问题得到了解决,因为我的JDK指向1.7,JRE指向1.8.检查命令提示符我的输入

java -version
Run Code Online (Sandbox Code Playgroud)

javac -version.
Run Code Online (Sandbox Code Playgroud)

两者都应该相同.  


lil*_*nux 5

将其放入您的 .profile 中将动态地照顾您的$JAVA_HOME

export JAVA_HOME=$(/usr/libexec/java_home)
Run Code Online (Sandbox Code Playgroud)

之后关闭你的 shell,打开一个新的 shell 并进行测试

echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)

它应该显示类似的内容

/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

如果没有,请删除启动脚本中 JAVA_HOME 的任何其他分配。请记住,这些启动脚本以 a 开头.,因此它们是隐藏的,并且在使用通配符时不会被包含*,例如,如果您想 grep 主目录的所有文件,您需要:

grep -s JAVA_HOME ~/.* --exclude=.bash_history
Run Code Online (Sandbox Code Playgroud)


РАВ*_*АВИ 5

对于 eclipse,这是我解决问题的方法:

  1. 首选项 --> 编译器 --> 编译器投诉级别(更改为 1.8) 在此处输入图片说明

  2. 偏好 --> 安装的 JRE --> 选择 JAVA SE 8 1.8 在此处输入图片说明

  3. 使用 Run as maven build 通过 maven 重建。

它不应该再向您显示无效目标错误。
注意:我不必在终端中设置或更改任何其他变量。希望这可以帮助。