Java Weka ClassNotFoundException

Java Weka ClassNotFoundException,java,noclassdeffounderror,weka,classnotfoundexception,Java,Noclassdeffounderror,Weka,Classnotfoundexception,我正在尝试安装Weka,我已将其安装到/Weka目录中。我设置了CLASSPATH变量,但这并不重要,因为我使用的是-cp 我在SSH中输入以下内容: java-Xmx5G-cp/weka/weka.jar weka.core.converters.TextDirectoryLoader-dir/home/myuser/test> /home/myuser/test.arff 它吐出: 线程“main”java.lang.NoClassDefFoundError中出现异常: weka/core/

我正在尝试安装Weka,我已将其安装到/Weka目录中。我设置了CLASSPATH变量,但这并不重要,因为我使用的是-cp

我在SSH中输入以下内容:

java-Xmx5G-cp/weka/weka.jar weka.core.converters.TextDirectoryLoader-dir/home/myuser/test> /home/myuser/test.arff

它吐出:

线程“main”java.lang.NoClassDefFoundError中出现异常: weka/core/converters/TextDirectoryLoader由以下原因引起: java.lang.ClassNotFoundException: weka.core.converters.TextDirectoryLoader 在java.net.URLClassLoader$1.run(URLClassLoader.java:217) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:205) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:321) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 在java.lang.ClassLoader.loadClass(ClassLoader.java:266)上找不到主类:weka.core.converters.TextDirectoryLoader。 程序将退出

怎么了?没有“weka/core/converters/TextDirectoryLoader”,因为它都存储在weka.jar中,这是它应该查看的地方

我的Java版本:

java版本“1.6.0_20”OpenJDK运行时环境(IcedTea6 1.9.10) (rhel-1.23.1.9.10.el5_7-x86_64)OpenJDK 64位服务器虚拟机(构建 19.0-b09,混合模式)

我今天刚从他们下载页面的链接下载了Weka,所以应该没有什么问题

现在我知道这通常是因为它找不到weka.jar,但我向您保证它就在:/weka/weka.jar。我还可以保证/weka目录和weka.jar都有执行权限


请帮忙

下载并运行.jar对我来说很有用:

carsten@dallas:~$ java -Xmx5G -cp /tmp/weka-3-6-5/weka.jar weka.core.converters.TextDirectoryLoader

Usage:
  TextDirectoryLoader [options]

Options:
...
还有
java-jar/tmp/weka-3-6-5/weka.jar
,它打开了一些GUI工具


你确定你在SSH连接到的服务器上安装了Weka吗?

我在Mac OS上使用dmg包中发布的jar时也遇到了同样的情况

我在下面导入了jar文件,而不是这个文件:

Applications/Weka/Resources/java/weka.jar
要获得它,您必须:

  • 转到应用程序
  • 在weka-3-x-x上单击鼠标右键
  • 显示包内容
  • 转到/Resources/java/weka.jar
  • 将这一个jar导入到您的类路径中

  • 注意:我没有完全相同版本的OpenJDK运行:OpenJDK运行时环境(IcedTea6 1.9.9)(6b20-1.9.9-0ubuntu1~10.10.2)很有趣,因为我刚刚测试了weka.filters.unsupervised.attribute.StringToWordVector,它的加载很好。只有weka.core.converters.TextDirectoryLoader看起来是不可见的。在指向该.jar的路径中是否存在打字错误的可能性(即使在显微镜下很小)?也许有些字符是大写的?还是版本问题?我从SF下载了最新版本,但可能您在服务器上得到了一个缺少weka.core.converters.TextDirectoryLoader的旧版本……您可以尝试
    jar tf/weka/weka.jar | grep TextDirectoryLoader
    来查看类是否在.jar中。您从weka站点下载了哪个版本?快照还是马厩?Linux?它根本不存在!我决定继续解包jar文件,但是没有weka/core/converters/TextDirectoryLoader.class!那里发生了什么事?其他人似乎都有。