如何在 运行 Java 应用程序时解析孵化器模块 jdk.incubator.vector
How to resolve incubator module jdk.incubator.vector when running Java application
我正在尝试测试 JDK 16 中作为孵化器模块引入的新 Vector API。为此,我有以下 class:
import jdk.incubator.vector.FloatVector;
import jdk.incubator.vector.VectorSpecies;
public class Main {
static final VectorSpecies<Float> SPECIES = FloatVector.SPECIES_256;
static void vectorComputation(float[] a, float[] b, float[] c) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
var m = SPECIES.indexInRange(i, a.length);
var va = FloatVector.fromArray(SPECIES, a, i, m);
var vb = FloatVector.fromArray(SPECIES, b, i, m);
var vc = va.mul(va).
add(vb.mul(vb)).
neg();
vc.intoArray(c, i, m);
}
}
public static void main(String[] args) {
float[] a = new float[]{1.0f, 3.0f, 2.0f};
float[] b = {1.0f, -1.0f, 5.0f};
float[] c = {1.0f, 6.0f, 1.0f};
Main.vectorComputation(a, b, c);
System.out.println(c);
}
}
我能够使用以下命令编译它:
javac Main.java --add-modules jdk.incubator.vector
但是,当我尝试 运行 时,出现以下错误。
java Main --add-modules jdk.incubator.vector
Error: Unable to initialize main class Main
Caused by: java.lang.NoClassDefFoundError: jdk/incubator/vector/Vector
我该如何解决这个 class?
main class 之后的任何内容都被解释为您的应用程序的参数。您需要将命令重新排列为:
java --add-modules jdk.incubator.vector Main
我正在尝试测试 JDK 16 中作为孵化器模块引入的新 Vector API。为此,我有以下 class:
import jdk.incubator.vector.FloatVector;
import jdk.incubator.vector.VectorSpecies;
public class Main {
static final VectorSpecies<Float> SPECIES = FloatVector.SPECIES_256;
static void vectorComputation(float[] a, float[] b, float[] c) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
var m = SPECIES.indexInRange(i, a.length);
var va = FloatVector.fromArray(SPECIES, a, i, m);
var vb = FloatVector.fromArray(SPECIES, b, i, m);
var vc = va.mul(va).
add(vb.mul(vb)).
neg();
vc.intoArray(c, i, m);
}
}
public static void main(String[] args) {
float[] a = new float[]{1.0f, 3.0f, 2.0f};
float[] b = {1.0f, -1.0f, 5.0f};
float[] c = {1.0f, 6.0f, 1.0f};
Main.vectorComputation(a, b, c);
System.out.println(c);
}
}
我能够使用以下命令编译它:
javac Main.java --add-modules jdk.incubator.vector
但是,当我尝试 运行 时,出现以下错误。
java Main --add-modules jdk.incubator.vector
Error: Unable to initialize main class Main
Caused by: java.lang.NoClassDefFoundError: jdk/incubator/vector/Vector
我该如何解决这个 class?
main class 之后的任何内容都被解释为您的应用程序的参数。您需要将命令重新排列为:
java --add-modules jdk.incubator.vector Main