簡體   English   中英

來自命令行Mac OS的Weka

[英]Weka from command line Mac OS

我通常在Linux系統上從命令行使用Weka對屬性執行功能選擇,如下所示:

 java -cp PATH_TO_WEKA_JAR weka.attributeSelection.CfsSubsetEval ... (other parameters)

我試圖在Mac OS上運行相同的代碼,但出現此錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: weka.attributeSelection.CfsSubsetEval
Caused by: java.lang.ClassNotFoundException: weka.attributeSelection.CfsSubsetEval
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

如何在Mac OS上運行相同的命令? 不應與基於UNIX的操作系統相同嗎? 我也嘗試將路徑包含在" "但沒有區別。 怎么了

我想Weka jar文件有問題。 它告訴您在文件中找不到特定的類。

Mac OS已從Unix演變而來,這可能需要使用一個不同的JAR文件。

這可能對您有幫助:Weka網站下載

試試這個命令:

jar tf PATH_TO_WEKA_JAR | grep weka.attributeSelection.CfsSubsetEval

在輸出中,您應該看到帶有weka.attributeSelection.CfsSubsetEval.class的行。 如果看不到這樣的行,則jar文件不包含該類,並且該命令無法工作。 在這種情況下,請嘗試運行以下命令:

jar tf PATH_TO_WEKA_JAR | less

只看jar文件中的內容。

無論如何,這是一個簡單的類路徑問題: weka.attributeSelection.CfsSubsetEval類根本不在您的類路徑中。 您需要找到罐子的正確路徑,也可能找到其他依賴項,並構造正確的參數以用於:

java -cp CORRECT_CLASSPATH weka.attributeSelection.CfsSubsetEval   # ... your other params

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM