如何在 运行 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