Results 1 to 3 of 3
- 02-01-2012, 05:47 PM #1
Member
- Join Date
- Feb 2012
- Posts
- 2
- Rep Power
- 0
Adding .jar archive to classpath with javac
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;
Now:
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.
- 02-01-2012, 06:20 PM #2
Moderator
- Join Date
- Apr 2009
- Posts
- 10,438
- Rep Power
- 16
Re: Adding .jar archive to classpath with javac
That hasn't compiled.
It can't see your java file.
What directory are you in when you run the javac command?
Not sure why you;re getting the first part about the commons stuff as it then says it can't find the SNPHarvester.
ANyway, the java command will need the -cp switch as well, since it needs those two jars to run.
- 02-02-2012, 11:50 AM #3
Member
- Join Date
- Feb 2012
- Posts
- 2
- Rep Power
- 0
Similar Threads
-
In Linux export PATH doesn't work but the giving classpath to javac works. Why?
By srikanthradix in forum New To JavaReplies: 5Last Post: 06-02-2011, 06:59 AM -
Adding to ClassPath at runtime - ClassPathHacker.java - safe?
By rc_coder in forum Advanced JavaReplies: 8Last Post: 09-23-2010, 03:27 PM -
Adding jar to classpath.
By dudejonne in forum New To JavaReplies: 11Last Post: 11-04-2009, 04:58 PM -
Error : Invalid path, \bin\javac.exe -classpath
By Ed in forum JCreatorReplies: 3Last Post: 08-14-2009, 12:57 PM -
Adding JARs to the classpath at runtime?
By johann_p in forum Advanced JavaReplies: 1Last Post: 06-26-2007, 10:42 PM


LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks