NoClassDefFoundError с математикой Apache - PullRequest
0 голосов
/ 02 ноября 2019

Я хочу использовать PoissonDistribution от Apache Commons, но всегда получаю ошибку 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.

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 03 ноября 2019

Хорошо, поэтому по стечению обстоятельств я нашел решение:

Моя проблема заключалась в том, что я добавил JAR в Modulepath, а не в Classpath в свойствах проекта.

0 голосов
/ 02 ноября 2019

Убедитесь, что ваш класс PoissonDistribution доступен в Java Classpath. И я могу предположить, что ваша банка не будет правильно добавлять банку.

Добавьте следующий шаг, чтобы добавить банку:

  • Затмение, щелкнув правой кнопкой мыши на Project
  • Путь сборки
  • Добавление внешних файлов JAR.
  • И дай баночку.
  • Ладно
...