Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Java CLASSPATH Problem

Java CLASSPATH Problem
Thread Tools
Arkham_c
Mac Elite
Join Date: Dec 2001
Location: Atlanta, GA, USA
Status: Offline
Reply With Quote
Jan 31, 2003, 01:08 PM
 
Hi all. I am trying to develop some java code on OSX. I have run into a problem with CLASSPATH. I run bash, so I have a script that I source via " . ~/bin/java_setup.sh". This script does this:

Code:
#!/bin/sh # BEGIN JAVA CLASSPATH SETUP JAVA_BASE="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK" export JAVA_HOME="$JAVA_BASE/Home" CLASSPATH="." # TOMCAT if [ "$CATALINA_HOME" = "" ]; then CATALINA_HOME="/Library/WebServer/jakarta-tomcat-4.1.18" CH=$CATALINA_HOME export CATALINA_HOME fi OS_JARS="$JAVA_BASE/Classes" TOMCAT_JARS="$CH/common/lib/servlet.jar \ $CH/common/lib/velocity.jar \ $CH/common/lib/velocity-dep.jar \ $CH/common/lib/mail.jar" MY_JARS="$HOME/Library/Java $HOME/Library/Java/Extensions" javasourcelist="$OS_JARS $MY_JARS $TOMCAT_JARS" for javasource in $javasourcelist do if [ -d $javasource ]; then #it is a directory for jarfile in `cd ${javasource} && ls | grep jar` do if [ "$CLASSPATH" = "" ]; then CLASSPATH="${javasource}/${jarfile}" else CLASSPATH="${CLASSPATH}:${javasource}/${jarfile}" fi done elif [ -f $javasource ]; then # it is a file if [ "$CLASSPATH" = "" ]; then CLASSPATH="${javasource}" else CLASSPATH="${CLASSPATH}:${javasource}" fi fi done export CLASSPATH
After it runs my classpath looks like this (colons replaced with carriage returns to make it fit on the forum):

Code:
[dshaw@flybook ~/Desktop] echo $CLASSPATH /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes/classes.jar /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes/i18n.jar /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes/sunrsasign.jar /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes/ui.jar /Users/dshaw/Library/Java/bsh-1.2b6.jar /Users/dshaw/Library/Java/ftp.jar /Users/dshaw/Library/Java/xmlizable.jar /Users/dshaw/Library/Java/Extensions/jconn2.jar /Users/dshaw/Library/Java/Extensions/oracle.jar /Users/dshaw/Library/Java/Extensions/pgjdbc2.jar /Library/WebServer/jakarta-tomcat-4.1.18/common/lib/servlet.jar /Library/WebServer/jakarta-tomcat-4.1.18/common/lib/velocity.jar /Library/WebServer/jakarta-tomcat-4.1.18/common/lib/velocity-dep.jar /Library/WebServer/jakarta-tomcat-4.1.18/common/lib/mail.jar
So it looks right. My test source looks like this:

Code:
[dshaw@flybook ~/Desktop] cat TestException.java import java.sql.DriverManager; import java.sql.Connection; public class TestException { Connection _db_conn; public TestException() { try { String url = "jdbc:postgresql://localhost:5432/test"; _db_conn = DriverManager.getConnection(url, "postgres", "postgres"); } catch (Exception e) { System.out.println(e); } } public static void main(String[] args) { TestException test = new TestException(); } }
Very simple. Load the jdbc driver for PostgreSQL, and print an exception if it fails. The Postgres driver is jconn2.jar and is in the CLASSPATH above. However, if I run the class, I get:

Code:
[dshaw@flybook ~/Desktop] java TestException java.sql.SQLException: No suitable driver
Is this a CLASSPATH issue, or something else? Help!
Mac Pro 2x 2.66 GHz Dual core, Apple TV 160GB, two Windows XP PCs
     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 12:35 PM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,