【发布时间】:2014-07-17 19:02:38
【问题描述】:
我将 apache Math 3.3 jar 库复制到我的 intellij 项目文件夹中,然后通过“添加到库”选项将其添加到我的项目中。
虽然一切都可以正常编译和构建,但当我运行项目的 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 -> Build Artifacts -> Build。
【问题讨论】:
-
当您执行项目 jar 时,您的类路径中是否有 Apache 库 jar?它是否打包在您的项目 jar 中,您可以通过浏览其内容来验证它吗?
-
在命令本身中没有明确显示,但 intellij 不应该自动捆绑它吗?我已经找到了,但我不需要把它放在我的类路径中。
-
请告诉我们您看到的实际错误
-
Maven == 问题解决了
-
我从未使用过 IntelliJ 的包功能,我只使用过 Maven,所以我无法确定依赖库是否与您的 jar 一起打包。但是,如果您收到 no class found 错误,那是因为类加载器找不到它。它不在您的类路径中,或者不在 jar 中。
标签: java intellij-idea apache-commons apache-commons-math