2011-10-28 47 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. 將一個罐子導入你的類路徑