首页 > 解决方案 > NoClassDefFoundError 与 Apache 公共数学

问题描述

我想使用 Apache Commons 的 PoissonDistribution 但总是得到错误 a 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 文件。

谢谢你的帮助!

标签: javaimportapache-commons

解决方案


好的,巧合的是,我找到了解决方案:

我的问题是我将 JAR 添加到了 Modulepath 而不是项目属性中的 Classpath。


推荐阅读