UnsupportedClassVersionError:Gradle和Java运行时版本错误
我是Gradle的新手,我想尝试一下这个很酷的项目:Strange,一个用于Java的量子计算API(我将在下面留下一个指向github项目的链接)。 他们建议使用Gradle,我也这么做了 在我正在处理的目录中,只有3个文件: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 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
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
以下是链接。Java 8不支持量子计算。您需要Java11或更高版本 撇开玩笑不谈,您正在参与的项目需要Java11 获取OpenJDK11
注意:
UnsupportedClassVersionError
打印一个类似55.0
的数字44
从中确定所需的Java版本。感谢您提供的有用提示!相关,可能重复: