weka.core.converter.TextDirectory.Loader 中的错误

Error in weka.core.converter.TextDirectory.Loader

我想将目录中的文本文件转换为 arff 文件。 当我 运行 在 linux 终端中执行以下命令时:

java weka.core.converters.TextDirectoryLoader -dir weka

...我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: weka/core/converters/TextDirectoryLoader
Caused by: java.lang.ClassNotFoundException: weka.core.converters.TextDirectoryLoader
    at java.net.URLClassLoader.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: weka.core.converters.TextDirectoryLoader. Program will exit.

请建议如何解决此错误。

此错误消息告诉我们 TextDirectoryLoader class 不在您当前的搜索路径中。可能它没有与您的 Weka 版本一起安装。

根据他们的 wiki,此 class 仅适用于大于 3.5.3 的 Weka 版本。再次检查您的安装目录并查找此 class。否则使用 TextDirectoryToArff

如何更改class路径

您必须编辑(sudo gedit 或 sudo vim)位于主目录 (~) 的 .bashrc 文件并添加此行:

export CLASSPATH=$CLASSPATH:[new_path]

你的 [new_path] 类似于 /home/users/username/downloads/weka/weka.jar

编辑:注意到您应该将 weka.jar 添加到 class 路径,而不是 weka 安装目录。