【发布时间】:2014-05-03 11:32:19
【问题描述】:
我在执行我的 java 程序时遇到问题。代码放在文件RunMining.java 中,并包含多个import weka.[..] 行。 weka 库(weka.jar)放在同一个文件夹中。
我编译它:
$ javac -cp weka.jar RunMining.java
这会创建三个文件:RunMining.class, RunMining$1.class, RunMining$classifierType.class
当我运行它时:java -cp weka.jar RunMining 我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: RunMining
Caused by: java.lang.ClassNotFoundException: RunMining
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
我的 RunMining.java 文件只包含一个名为 RunMining 的类,其中包含 main 方法。我不希望将 weka.jar 文件添加到我的CLASSPATH,因为该文件将使用 makefile 编译并使用脚本在不同的机器上执行。
关于如何运行编译文件的任何建议?
【问题讨论】:
标签: java classpath weka noclassdeffounderror