我在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。
我做错了什么?
答案 0 :(得分:12)
运行命令的shell显然没有正确设置CLASSPATH环境变量,否则不会发生ClassNotFoundException。作为环境变量的替代方法,您可以使用命令行指定类路径:
java -cp path/to/weka.jar weka.core.converters.TextDirectoryLoader -dir [...]
您还可以通过在cmd shell中执行echo %CLASSPATH%
来检查环境变量是否设置正确。