公共数学:java.lang.ClassNotFoundException

公共数学:java.lang.ClassNotFoundException,java,classnotfoundexception,apache-commons-math,Java,Classnotfoundexception,Apache Commons Math,我有一小段Java代码: import java.io.*; import org.apache.commons.math3.linear.*; class Test { public static void main(String[] args){ RealVector alpha= MatrixUtils.createRealVector(new double[10]); System.out.println(alpha.getEntry(0));

我有一小段Java代码:

import java.io.*;
import org.apache.commons.math3.linear.*;

class Test
{
    public static void main(String[] args){
        RealVector alpha= MatrixUtils.createRealVector(new double[10]);
        System.out.println(alpha.getEntry(0));      
    }
}
我可以使用
javactest.java-cp成功地编译它。;commons math.jar
但是当我尝试使用
javatest-cp运行它时。;commons math.jar
,它抛出了以下内容:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/ma
th3/linear/MatrixUtils
        at Test.main(Test.java:9)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.linear.Mat
rixUtils
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 1 more

通过我的谷歌搜索,当类路径没有指向正确的位置时,通常会出现
ClassNotFoundException
。但由于我的代码是编译的,我不明白为什么它不应该执行。有什么想法吗?

我刚刚重现了你的问题,改变顺序可以帮我解决

java -cp .;commons-math.jar Test

如果在命令窗口中键入java,您将实际了解如何设置命令以正确启动类文件:

用法:java[-options]类[args…] (执行类)或java[-options]-jar jarfile[args…] (执行jar文件)

“-cp”是一个选项,因此它位于类名之前

因此,命令脚本如下所示:

java -cp <SEMICOLON_SEPARETE_LIST_OF_LOCATIONS> qualified.path.to.MainClass <ARGUMENTS>
java-cp-qualified.path.to.MainClass

您应该将类文件和jar放在同一个目录下try
java-cp”/path/to/commons math.jar“Test
我觉得很傻。谢谢。(也要感谢梅林)