Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/forums/java/)
-   -   Trouble Adding .jar to classpath (http://www.go4expert.com/forums/trouble-adding-jar-classpath-t27708/)

zhacker 1Feb2012 22:32

Trouble Adding .jar to classpath
Hi everyone,

I have been programming in java for a while but I haven't used external .jar archives previously. Now, I am faced with the current situation:

1- I have a java file (SNPHarvester.java) located in my /home directory.
2- Under: /home/lib/ I have two .jar archives, namely: commons-math-1.2.jar and weka.jar
3- In the sourcecode (SNPHarvester.java), I have the following import statements:

import weka.core.Utils;

import org.apache.commons.math.distribution.ChiSquaredDis tribution;
import org.apache.commons.math.distribution.ChiSquaredDis tributionImpl;


my weka.jar has the structure: weka/core/Utils.class
my commons-math-1.2.jar contains the structure: /org/apache/commons/math/distribution/ChiSquaredDistribution.class and ChiSquaredDistributionImpl.class - However, notice the name of the .jar archive - unlike my weka.jar, commons-math-1.2 does not show up in the import statement.

Now, when I compile using the following:

javac -cp ".:lib/weka.jar:lib/commons-math-1.2.jar" SNPHarvester.java it outputs the following:

[zibrahimbrc@bignode lib]$ javac -cp ".:lib/weka.jar:lib/commons-math-1.2.jar" SNPHarvester.java
javac: file not found: SNPHarvester.java
Usage: javac <options> <source files>
use -help for a list of possible options

Which I am assuming it's okay. However, the following exception is generated when I run the corresponding .class file:

[zibrahimbrc@bignode snp_harvester]$ java SNPHarvester
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/math/distribution/ChiSquaredDistribution
Caused by: java.lang.ClassNotFoundException: org.apache.commons.math.distribution.ChiSquaredDis tribution
at java.net.URLClassLoader$1.run(URLClassLoader.java: 202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 07)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 48)
Could not find the main class: SNPHarvester. Program will exit.

It's not finding the classes in commons-math-1.2.jar

Any ideas about what I'm doing wrong? your help is highly appreciated. Thank you very much in advance.

All times are GMT +5.5. The time now is 05:57.