无法使用Apache Commons运行Java代码

时间:2016-02-02 04:30:29

标签: java apache runtimeexception

我编写了一个程序来读取文本文件中的数据并进行一些简单的计算,然后打印出这些计算。那部分效果很好。

之后,我添加了一些代码来使用TTest类(org.apache.commons.math3.stat.inference.TTest)进行t检验。因此,我从Apache Commons下载页面下载了commons-math3-3.6.jar,并将JAR文件放在与该程序的其余Java代码相同的文件夹中。

我在Windows中使用以下命令进行编译,其工作正常:

javac -cp ./commons-math3-3.6.jar ./FootballTeam.java ./Main.java

但我无法弄清楚如何正确运行该程序。我试过这个:

java Main

完美地执行t-test之前的所有操作,然后给出预期的错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/math3/stat/inference/TTest at Main.main(Main.java:32) Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.stat.inference.TTest 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

我也试过这个:

java -cp commons-math3-3.6.jar Main

给了我这个:

Error: Could not find or load main class Main

我不能为我的生活弄清楚如何在这里正确设置类路径。有人可以给我一些帮助吗?谢谢!

1 个答案:

答案 0 :(得分:1)

找不到Main类,因为当前目录(.)不在您的类路径中。

要在Windows上添加它:

java -cp ".;commons-math3-3.6.jar" Main

开* n?x:

java -cp ".:commons-math3-3.6.jar" Main