我在 Windows 上安装了最新版本的 Weka
http://www.cs.waikato.ac.nz/ml/weka/
我尝试从命令行运行其中一项 weka 功能:
java weka.core.converters.TextDirectoryLoader -dir text_example > text_example.arff
这是对此的引用:http://weka.wikispaces.com/Text+categorization+with+WEKA
但是 weka 返回这个错误:
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
Exception in thread "main" java.lang.NoClassDefFoundError: weka/core/converters/
TextDirectoryLoader
Caused by: java.lang.ClassNotFoundException: weka.core.converters.TextDirectoryL
oader
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: weka.core.converters.TextDirectoryLoader. Progra
m will exit.
我已经将 CLASSPATH 环境变量设置为指向 weka jar。
我做错了什么?
最佳答案
您运行该命令的 shell 显然没有正确设置 CLASSPATH 环境变量,否则不会发生 ClassNotFoundException。作为环境变量的替代方法,您可以使用命令行指定类路径:
java -cp path/to/weka.jar weka.core.converters.TextDirectoryLoader -dir [...]
您还可以通过在 cmd shell 中执行 echo %CLASSPATH%
来检查环境变量是否设置正确。
关于java - Weka 没有发现主类错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6514579/