[英]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.