为啥 WEKA 不从命令行运行?
Posted
技术标签:
【中文标题】为啥 WEKA 不从命令行运行?【英文标题】:Why is WEKA not running from the command line?为什么 WEKA 不从命令行运行? 【发布时间】:2012-02-14 16:26:19 【问题描述】:对不起,这似乎很简单,但我似乎无法理解。
我已经下载并安装了 Windows 版本的 WEKA,但我似乎无法从命令行调用它。
我添加了一个WEKAHOME
环境变量,指向包含weka.jar
的目录,并将它添加到我的路径中,并附加了/weka.jar
..
我正在尝试这个命令:java weka.classifiers.j48.J48 -t %WEKAHOME%/data/iris.arff
然后我得到以下错误输出。
线程“主”java.lang.NoClassDefFoundError 中的异常: weka/classifiers/j48/ J48 引起:java.lang.ClassNotFoundException: weka.classifiers.j48.J48 在 java.net.URLClassLoader$1.run(未知来源) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源) 在 java.lang.ClassLoader.loadClass(Unknown Source) 找不到主类:weka.classifiers.j48.J48。程序将退出。
我能做些什么来解决这个问题?
【问题讨论】:
您是否正确设置了 java 类路径? 【参考方案1】:就是因为这个weka.classifiers.j48.J48
,那是Weka文档的错误,应该是:weka.classifiers.trees.J48
(注意:下面的 cmets 不再相关。这里的答案有效,记得按照 Thomas Jungblut 下面的说明设置类路径。)
【讨论】:
可能是小写的 j。让我检查一下,一秒钟。 这里:weka.classifiers.trees.J48
这里有一个分类器列表可供选择:weka.sourceforge.net/doc/weka/classifiers/Classifier.html
如果他不设置类路径,他将找不到该类。使用 java -cp weka.jar weka.classifiers.trees.J48 添加 jar。以上是关于为啥 WEKA 不从命令行运行?的主要内容,如果未能解决你的问题,请参考以下文章
带有 Weka 命令行的 ProcessBuilder/Runtime.exec() 演示特殊行为