Intellij + Apache Math 3.3给出NoClassDefFound错误

时间:2014-07-17 19:02:39

标签: java intellij-idea apache-commons apache-commons-math

我将apache Math 3.3 jar库复制到我的intellij项目文件夹中,然后通过" Add to Library"将其添加到我的项目中。选项。

虽然编译和构建都很好,但是当我运行项目的jar时,我从apache数学库导入的类中得到NoClassDefFoundError。

任何解决方案?

由于

修改

以下是错误我得到

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/math3/stat/descriptive/rank/Percentile
    at Main.main(Main.java:80)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.stat.descriptive.rank.Percentile
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 1 more

“模块”对话框的屏幕截图位于:http://imgur.com/xQ102rT

编辑2 :我使用"添加到库"安装了apache jar。然后选择"类"选项。

编辑3 :为了制作jar,我去Build - >构建工件 - >建立。

1 个答案:

答案 0 :(得分:1)

问题是由于这句话:

  

当我运行我的项目时,

如果您使用的是Java的标准jar机制,它不会产生依赖关系。所以你仍然需要在类路径中添加依赖项。 IntelliJ的功能主要用于使用intelliJ的运行选项运行。如果您通过命令行运行jar,则需要将依赖项添加到类路径中。

如果你正在使用intelliJ,那么jar就被认为是一件神器。您需要将库添加到构建工件中。转到Build>构建工件。将鼠标悬停在jar上,然后选择编辑。

你应该在"可用元素"中找到库。部分。只需双击它即可将其添加到您的jar中。然后单击“确定”。