Link to home
Start Free TrialLog in
Avatar of onyourmark
onyourmark

asked on

Could not find the main class

Hello. I entered

;C:\Program Files (x86)\Java\jre6\bin to my Path environment variable. I am running Vista Ultimate on 64 bits.


Then I went to the command prompt and entered

java weka.core.converters.CSVLoader data.csv > data.arff

I get a message:


C:\Users\william>java weka.core.converters.CSVLoader data.csv > data.arff
Exception in thread "main" java.lang.NoClassDefFoundError: weka/core/converters/
CSVLoader
Caused by: java.lang.ClassNotFoundException: weka.core.converters.CSVLoader
        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.core.converters.CSVLoader.  Program will exi
t.

By the way, is there an easy way to copy from the Command Prompt?
Avatar of ksivananth
ksivananth
Flag of United States of America image

you need to weka jar files/libraries into classpath...
Avatar of Gurvinder Pal Singh
for the classNotFoundException:
You need to make sure that you are executing that java command just outside the 'weka' folder.
I am assuming that
1) class files are generated (no compilation errors)
2) required jars/libs are in classpath



ASKER CERTIFIED SOLUTION
Avatar of ksivananth
ksivananth
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of onyourmark
onyourmark

ASKER

Hi. Thank you for the help. I am confused. Do I need to edit my Path variable in some other way or my CLASSPATH variable? I do have Java installed in C:\Program Files (x86)\Java\jre6\bin

and I do have Weka installed at
C:\Program Files (x86)\Weka-3-7
what does "C:\Program Files (x86)\Weka-3-7" includes?
Hi. Here is a screen shot
weka.jpg
i can see weka.jar file there. Is it added in the classpath?
In Environment Variables my CLASSPATH has
.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
Here is my directory
java.jpg
Add "C:\Program Files (x86)\weka.jar" also in the classpath.

Hello. I added

then tried
java weka.core.converters.CSVLoader data.csv > data.arff

I get

Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:\Users\william>java weka.core.converters.CSVLoader data.csv > data.arff
Exception in thread "main" java.lang.NoClassDefFoundError: weka/core/converters/
CSVLoader
Caused by: java.lang.ClassNotFoundException: weka.core.converters.CSVLoader
        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.core.converters.CSVLoader.  Program will exi
t.

C:\Users\william>
Sorry, I added

;C:\Program Files (x86)\weka.jar
try this
java -classpath "C:/Program Files (x86)/weka.jar" weka.core.converters.CSVLoader data.csv > data.arff

I get the same error
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hi. I am not sure how to locate that. I looked on the internet and find
http://weka.sourceforge.net/doc/weka/core/converters/CSVLoader.html
can you try this (both commands)

set CLASSPATH=%CLASSPATH%;C:\Program Files (x86)\weka.jar;
java weka.core.converters.CSVLoader data.csv > data.arff

Hi thanks. I tried that but I get the error on the second command.