UnsupportedClassVersionError:Gradle和Java运行时版本错误

UnsupportedClassVersionError:Gradle和Java运行时版本错误,java,gradle,unsupported-class-version,java-runtime-compiler,Java,Gradle,Unsupported Class Version,Java Runtime Compiler,我是Gradle的新手,我想尝试一下这个很酷的项目:Strange,一个用于Java的量子计算API(我将在下面留下一个指向github项目的链接)。 他们建议使用Gradle,我也这么做了 在我正在处理的目录中,只有3个文件: 我的java主类HelloStrangeWorld.java build.gradle 和设置。渐变 现在我只想在我的目录中测试以下命令: $ gradle tasks 我得到了这个: 失败:生成失败,出现异常。 *出了什么问题: java.lang.Unsuppor

我是Gradle的新手,我想尝试一下这个很酷的项目:Strange,一个用于Java的量子计算API(我将在下面留下一个指向github项目的链接)。 他们建议使用Gradle,我也这么做了

在我正在处理的目录中,只有3个文件:

  • 我的java主类HelloStrangeWorld.java
  • build.gradle
  • 设置。渐变
  • 现在我只想在我的目录中测试以下命令:

    $ gradle tasks
    
    我得到了这个:

    失败:生成失败,出现异常。 *出了什么问题: java.lang.UnsupportedClassVersionError:org/javamodularity/moduleplugin/moduleSystemTemplugin已由较新版本的java运行时(类文件版本55.0)编译,此版本的java运行时仅识别高达52.0的类文件版本

    org/javamodularity/moduleplugin/modulesystempugin已由较新版本的Java运行时(类文件版本55.0)编译,该版本的Java运行时仅识别52.0以下的类文件版本


    我所拥有的:
    • 我的Java设置为1.8

    • 我用SDKMAN安装了Graddle

    build.gradle的内容如下:

    plugins {
        id 'java'
        id 'application'
        id 'org.javamodularity.moduleplugin' version '1.2.1'
    }
    
    group 'helloStrangeWorld'
    version '1.0-SNAPSHOT'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.12'
        compile 'com.gluonhq:strange:0.0.5'
    }
    
    mainClassName = 'HelloStrangeWorld'
    
    我的主要课程内容如下:

    import com.gluonhq.strange.*;
    import com.gluonhq.strange.gate.*;
    import com.gluonhq.strange.local.SimpleQuantumExecutionEnvironment;
    import java.util.Arrays;
    
    public class HelloStrangeWorld {
    
        public static void main(String[] args) {
            Program p = new Program(2);
            Step s = new Step();
            s.addGate(new X(0));
            p.addStep(s);
            Step t = new Step();
            t.addGate(new Hadamard(0));
            t.addGate(new X(1));
            p.addStep(t);
            SimpleQuantumExecutionEnvironment sqee = new SimpleQuantumExecutionEnvironment();
            Result res = sqee.runProgram(p);
            Qubit[] qubits = res.getQubits();
            Arrays.asList(qubits).forEach(q -> System.out.println("qubit with probability on 1 = "+q.getProbability()+", measured it gives "+ q.measure()));
        }
    
    }
    
    到目前为止我所尝试的:
    • 我已经检查了JAVA_主页是否设置为jdk8。我使用zsh,所以我同时检查了.bashrc和.zshrc,并且在这两个位置都设置了env变量

    • 我从Java8改为Java7,它告诉我Gradle不应该使用Java7。所以我回到了Java8

    • 我检查了/etc/alternations中设置的符号链接,所有与java相关的链接都指向java的版本8

    我是否遗漏了一些关于Gradle使用的明显信息

    多谢各位


    以下是链接。

    Java 8不支持量子计算。您需要Java11或更高版本

    撇开玩笑不谈,您正在参与的项目需要Java11

    获取OpenJDK11


    注意:
    UnsupportedClassVersionError
    打印一个类似
    55.0
    的数字
    44
    从中确定所需的Java版本。

    感谢您提供的有用提示!相关,可能重复: