我对 Gradle 很陌生,我想尝试一下这个很酷的项目:Strange,一个用于 Java 的量子计算 API(我将在下面留下一个 github 项目的链接)。他们推荐使用 Gradle,所以我这样做了。
在我正在处理的目录中,只有 3 个文件:
- 我的 java 主类HelloStrangeWorld.java,
- build.gradle ,
- 和settings.gradle
现在我只想在我的目录中测试命令:
$ gradle tasks
我得到了这个:
FAILURE:构建失败并出现异常。* 出了什么问题: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 安装了 Gradle
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 的一些明显内容?
谢谢
这是gitHub 上 Strange 项目的链接。