2011-10-28 44 views
2

我试图安装Weka,我已经安装到/ weka目录中。我设置了CLASSPATH变量,但这无关紧要,因为我使用了-cp。Weka ClassNotFoundException

我进入到这个SSH:

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

它吐出:

Exception in thread "main" java.lang.NoClassDefFoundError: weka/core/converters/TextDirectoryLoader Caused by: java.lang.ClassNotFoundException: weka.core.converters.TextDirectoryLoader at java.net.URLClassLoader$1.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:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) Could not find the main class: weka.core.converters.TextDirectoryLoader. Program will exit.

错了呢?没有“weka/core/converters/TextDirectoryLoader”,因为它全部存储在weka.jar中,这是它应该查找的地方。

我的Java版本:

java version "1.6.0_20" OpenJDK Runtime Environment (IcedTea6 1.9.10) (rhel-1.23.1.9.10.el5_7-x86_64) OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

我刚刚下载的Weka今天从他们的下载页面上的链接,所以不应该有什么错。

现在我知道这通常是因为它找不到weka.jar,但我向你保证它正好在/weka/weka.jar。我也可以承诺/ weka目录和weka.jar都有执行权限。

请帮忙!

+0

这是不存在的!我决定继续解压jar文件,并且没有weka/core/converters/TextDirectoryLoader.class!那里发生了什么?其他人似乎都拥有它。 – Alasdair

回答

2

只要下载并运行的.jar作品对我来说:

[email protected]:~$ 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?

+0

注意:我没有与OpenJDK运行完全相同的版本: OpenJDK运行时环境(IcedTea6 1.9.9)(6b20-1.9.9-0ubuntu1〜10.10.2) – chabicht

+0

确定。就在那里,我明白了! – Alasdair

+0

有趣,因为我刚刚测试了weka.filters.unsupervised.attribute.StringToWordVector,它加载得很好。它只是看起来不可见的weka.core.converters.TextDirectoryLoader。 – Alasdair

0

当我使用dmg打包的jar发布时,我在Mac OS中发生了同样的情况。

相反的那一个,我进口的jar文件下:

Applications/Weka/Resources/java/weka.jar 

为了得到它,你必须:

  1. 去应用
  2. 右击过秧鸡-3-XX
  3. 展示包装内容
  4. 转至/Resources/java/weka.jar
  5. 将一个罐子导入你的类路径