Re: Puzzling Unix CLASSPATH issue...

Lists: pgsql-jdbc
From: Christopher Farley <chris(at)northernbrewer(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Puzzling Unix CLASSPATH issue...
Date: 2004-07-02 04:37:37
Message-ID: 20040702043729.GA2199@northernbrewer.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

I recently upgrade from Postgresql 7.3 to 7.4. Of course, I am using the
new jdbc driver.

When I log into my Unix machine under one account, the driver works
great and I connect to the database with no trouble. When I log into the
machine under a different user, I get a ClassNotFoundException.

I've examined my postgresql configuration, permissions, etc., and it
appears to be identical to my 7.3 config, which worked fine.

Any ideas on what is happening? Thanks...

Simple test case follows:

--------- DataBase.java --------
import java.io.*;
import java.sql.*;

public class DataBase
{
public static void main(String args[])
{
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException cnfe) {
System.err.println("Couldn't find driver class:");
cnfe.printStackTrace();
}

System.out.println("Testing");
}
}

-------- Example of problem -------

chris:~/test> export CLASSPATH=/usr/local/jdk1.4.2/jre/lib/rt.jar:.:pg74.214.jdbc3.jar; java DataBase
Testing
chris:~/test> su fred
Password:
fred:/home/chris/test> export CLASSPATH=/usr/local/jdk1.4.2/jre/lib/rt.jar:.:pg74.214.jdbc.jar; java DataBase
Couldn't find driver class:
java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at DataBase.main(DataBase.java:11)
Testing
fred:/home/chris/test>

--
Christopher Farley
www.northernbrewer.com


From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Christopher Farley <chris(at)northernbrewer(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Puzzling Unix CLASSPATH issue...
Date: 2004-07-02 04:58:35
Message-ID: 40E4EB7B.7090800@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Christopher Farley wrote:

> chris:~/test> export CLASSPATH=/usr/local/jdk1.4.2/jre/lib/rt.jar:.:pg74.214.jdbc3.jar; java DataBase
> Testing
> chris:~/test> su fred
> Password:
> fred:/home/chris/test> export CLASSPATH=/usr/local/jdk1.4.2/jre/lib/rt.jar:.:pg74.214.jdbc.jar; java DataBase
> Couldn't find driver class:
> java.lang.ClassNotFoundException: org.postgresql.Driver

Check the permissions on the driver jarfile; perhaps it is not readable
as 'fred'.

-O


From: Christopher Farley <chris(at)northernbrewer(dot)com>
To: Oliver Jowett <oliver(at)opencloud(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Puzzling Unix CLASSPATH issue...
Date: 2004-07-02 05:11:20
Message-ID: 20040702051115.GA3592@northernbrewer.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Oliver Jowett (oliver(at)opencloud(dot)com) wrote:

> Check the permissions on the driver jarfile; perhaps it is not readable
> as 'fred'.

Wow, thank you. One of the first things I did was check the permissions,
and I believed they were right. I didn't really look at them again until
I read your message. Thank you... now I can go to sleep!

--
Christopher Farley
www.northernbrewer.com