为了账号安全,请及时绑定邮箱和手机立即绑定

需要帮忙??编译致命错误:目标版本无效:1.8

需要帮忙??编译致命错误:目标版本无效:1.8

慕码人2483693 2021-10-13 13:55:33
我想将我的 Maven 项目部署到 Google Appengine,但是有一个错误[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @HospitalReservationSystem ---[INFO] Changes detected - recompiling the module![INFO] Compiling 1 source file to /home/rof/src/github.com/jessezzyy/Hospital-Reservation-System/target/HospitalReservationSystem-1.0-SNAPSHOT/WEB-INF/classes[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 2.062 s [INFO] Finished at: 2018-09-26T15:17:24Z[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project HospitalReservationSystem: Fatal error compiling: invalid target release: 1.8 -> [Help 1]maven项目正好用的是java8,我的java jdk也是1.8enter image description hereZIJIANdeMacBook-Pro:JavaVirtualMachines Jesse$ echo $JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/HomeZIJIANdeMacBook-Pro:JavaVirtualMachines Jesse$ java -versionjava version "1.8.0_181"Java(TM) SE Runtime Environment (build 1.8.0_181-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)我试图更改 1.7 而不是 1.8,但它显示错误:Execution default-cli of goal com.google.cloud.tools:appengine-maven-plugin:1.3.2:deploy failed: Non zero exit: 1 -> [Help 1]
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

虽然这是很老的帖子,但我想我会分享我的快速修复供其他人使用:我也遇到过类似的问题,其中 pom.xml 指向 1.8 并且 JAVA_HOME 也指向 1.8 Maven 构建在 Eclipse 中失败。

为了解决这个问题,我所要做的就是在 JRE 选项卡中使用 Alternate JRE 选项将 JRE 版本更改为 1.8,如附加屏幕截图所示。

//img1.sycdn.imooc.com//616675050001fb3507010437.jpg

查看完整回答
反对 回复 2021-10-13
?
Qyouu

TA贡献1786条经验 获得超11个赞

首先,您必须确保已安装 Java 8 及其相应的编译器。


通过执行以下代码来测试:


java -version


 javac -version


 mvn -version

它们应该是相同的版本。有时 java 指向正确的版本,但 javac 版本可能指向旧的 jdk。如果是这种情况,您可以应用以下步骤:


A:确保符号链接指向正确的 jdk。如果没有,只需将其删除并为您的 jdk 重新创建一个新的。代码:


cd /System/Library/Frameworks/JavaVM.framework/Versions/

rm CurrentJDK

ln -s /Library/Java/JavaVirtualMachines/<jdk version>.jdk/Contents/ CurrentJDK

B:从扩展中删除tools.jar,因为它可能与旧版本有关:代码:


cd /Library/Java/Extensions

-rw-r--r--  1 root  admin  15286304 Jan 14  2015 tools.jar

删除这个:


sudo rm -rf /Library/Java/Extensions

此外,您还需要确保在安装 1.8 jdk 后将 %JAVA_HOME 设置为 1.8。请记住,无效的目标版本是指 jdk 版本。


另一种解决方案是 fork maven-compiler-plugin 并将完整路径设置为正确的 Java 编译器,如下所示:


<plugin>

    <artifactId>maven-compiler-plugin</artifactId>

    <version>3.1</version>

    <configuration>

        <source>1.8</source>

        <target>1.8</target>

        <verbose>true</verbose>

        <fork>true</fork>

        <executable>C:\Program Files\Java\jdk1.8.0_79\bin\javac</executable>

    </configuration>

</plugin>

此问题已与有用的答案和您的问题的可能解决方案一起发布:单击此处


这是之前发布的关于同一问题的另一个问题:单击此处


查看完整回答
反对 回复 2021-10-13
  • 2 回答
  • 0 关注
  • 237 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信