我想使用Apache Commons中的PoissonDistribution,但总是得到一个NoClassDefFoundError
错误。
代码:
import org.apache.commons.math3.distribution.PoissonDistribution;
public class Test {
public static void main(String[] args) {
PoissonDistribution p = new PoissonDistribution(5.0);
}
}
错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/math3/distribution/PoissonDistribution
at Test.main(Test.java:6)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.distribution.PoissonDistribution
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more
到目前为止我所做的:commons-math3-3.6.1.jar文件位于我的项目文件夹中的一个文件夹中,我通过Project->Properties->Java Build Path->Libraries
添加了jar文件,然后在旁边的"订单和导出"选项卡中选择了jar文件。
谢谢你的帮助!
好吧,巧合的是,我找到了解决方案:
我的问题是,我将JAR添加到Modulepath,而不是项目属性中的Classpath。
在我的例子中,我忘记了添加Apache库的一部分,它的名称是:commons-math3-3.6.1.jar
确保您的PoissonDistribution类在Java Classpath中可用。我猜你的罐子不会正确地加入罐子。
添加以下步骤以添加jar:
- Eclipse,右键单击项目
- 生成路径
- 添加外部JAR
- 把罐子给我
- 好的