Re: Newbie is puzzled over CLASSPATH
markspace wrote:
> Redcat wrote:
>> I have Java EE installed at /usr/local/glassfish3. I've got JAVAHOME set
>> to /usr/local/glassfish3/jdk7 and CLASSPATH set to /usr/local/glassfish3/
>> jdk7/lib.
>
> This seems wrong. In general those should point to your JDK installation, not
> glassfish. I see you're using a jdk7 directory, however this feel off as
> well. I normally separate the container and the JDK into two distinct
> directory hierarchies.
>
> Not saying this could never work, but it seems odd and might have some hidden
> gotchas.
Libraries belong each in their own directory or JAR.
>> All was seeming to go smoothly with my Java development until I
>> installed Apache HTTPComponents. I copied the jar files to /usr/local/
>> glassfish3/jdk7/lib.
....
>> I've got a simple HTTPComponents example program that I grabbed off the
>> web. When I run javac against it I get errors reporting that the
>> HTTPComponents files can't be found. Another simple Java program that
>> displays my classpath, and it shows the path I set it to.
>>
>> My example program is:
>> package org.apache.http.examples.client;
>
> This seems like a bad idea, declaring your code to be a part of the org.apache
> package space.
Indeed! And such hubris, too!
>> import org.apache.http.HttpEntity;
>>
>> The error message I get is:
>> dan@dan-Aspire-4730Z:~/development$ javac ClientAuthentication.java
>> ClientAuthentication.java:3: error: cannot find symbol
>> import org.apache.http.HttpEntity;
Because you didn't include the *JAR* in your classpath, but a directory.
> OK, I think I see. javac doesn't like your class path. The first thing is
> that you'll need "." mostly likely in the path. The second is that most of us
> use an IDE or at least ant to do builds, and don't rely on class paths. What
> happens when you have two or more similar libraries with name collisions?
The OP said they used "blah-blah/lib" in the classpath. That wouldn't work for
JARs; they'd need "blah-blah/lib/*".
--
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg