我是Gradle的新手,我想尝试一下这个很酷的项目: Strange ,它是Java的Quantum Computing API(我将在下面留下指向github项目的链接)。 他们建议使用Gradle,我照做了。
在我正在处理的目录中,只有3个文件:
现在我只想在我的目录中测试命令:
$ gradle tasks
我知道了:
失败:生成失败,发生异常。 * 什么地方出了错: java.lang.UnsupportedClassVersionError:org / javamodularity / moduleplugin / ModuleSystemPlugin已由Java Runtime的最新版本(类文件版本55.0)进行编译,此版本的Java Runtime仅可识别52.0以下的类文件版本。
org / javamodularity / moduleplugin / ModuleSystemPlugin已由Java Runtime的最新版本(类文件版本55.0)进行编译,此版本的Java Runtime仅可识别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_HOME是否设置为jdk8。我使用zsh,因此我同时检查了.bashrc和.zshrc,并且在两个位置都设置了env变量。
我从Java 8更改为Java 7,这使我发现Gradle不应该与Java 7一起使用。所以我回到了Java 8
我检查了/ etc / alternatives中设置的符号链接,所有与Java相关的链接都指向Java的版本8
我是否缺少有关Gradle使用的明显信息?
谢谢
答案 0 :(得分:0)
Java 8不支持量子计算。您需要Java 11或更高版本。
开个玩笑,您正在depends上包含OpenJFX 11-ea+24的项目,该项目需要Java 11。
获取OpenJDK 11 here。
注意:UnsupportedClassVersionError
打印类似55.0
的数字。 Subtract 44
来确定所需的Java版本。