有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java需要帮助吗??编译时发生致命错误:无效的目标版本:1.8

我想将我的maven项目部署到GoogleAppengine,但这是一个错误

[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的,我的JavaJDK也是1.8EnterImageDescription

ZIJIANdeMacBook-Pro:JavaVirtualMachines Jesse$ echo $JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/HomeZIJIANdeMacBook-Pro:JavaVirtualMachines Jesse$ java -version
java 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) 个答案

  1. # 1 楼答案

    虽然这是一篇很老的帖子,但我想我会分享我的快速修复方法供其他人使用: 我也遇到过类似的问题。xml指向1.8,JAVA_HOME也指向1.8 Maven build在eclipse中失败了

    为了解决这个问题,我所要做的就是在JRE选项卡中使用备用JRE选项将JRE版本更改为1.8,如附件screen shot所示

  2. # 2 楼答案

    首先,您必须确保安装了Java8及其相应的编译器

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

    java -version
    

     javac -version
    

     mvn -version
    

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

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

    cd /System/Library/Frameworks/JavaVM.framework/Versions/
    rm CurrentJDK
    ln -s /Library/Java/JavaVirtualMachines/<jdk version>.jdk/Contents/ CurrentJDK
    

    B:取下工具。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版本

    另一个解决方案是分叉maven编译器插件,并将完整路径设置为正确的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>
    

    本期已经发布,并提供了对您的问题的有用答案和可能的解决方案:Click Here

    这里是之前发布的关于同一问题的另一个问题:Click Here