1
votes

I want to run weka through the command line. I type in this command:

java -classpath weka.jar weka.classifiers.trees.J48 -t data/weather.arff -i

And I get this error

Exception in thread "main" java.lang.NoClassDefFoundError: weka/classifiers/tree
 s/J48
 Caused by: java.lang.ClassNotFoundException: weka.classifiers.trees.J48
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
   Could not find the main class: weka.classifiers.trees.J48.  Program will exit.

My classpath variable is set to C:\Program Files\Weka-3-4\mysql-connector-java-3.1.8-bin.jar

Please let me know. Thanks.

1
That's not DOS. DOS is extinct. It probably has support for ancient Java versions onlysehe
Nothing anymore, I fixed your tags/titlesehe

1 Answers

5
votes

Is your command shell in the same directory as weka.jar?

You get that message if java simply can't find weka.jar

go

dir weka.jar

and check that the command shell can find it.

If not, you need to cd to the folder that contains weka.jar

Or you could put the full path to weka.jar

$java -classpath /"your-weka-path"/weka.jar weka.classifiers.trees.J48 -t data/weather.arff -i