jdk 버젼을 1.3만을 사용해야 하는 제한 사항 때문에 jdk 최선버전을 설치하는 사항은 고려되지 않으니 먼저 참고해주시구요
현재 환경은 Red Hat Enterprise Linux 4 시스템 이구요.
jdk는 /usr/local 아래 jdk1.3.1_20 를 설치하고 ln -s jdk1.3.1_20 java 로 링크를 잡았구요
mysql은 /usr/local 아래 mysql-5.0.67-linux-i686 를 설치하고 ln -s mysql-5.0.67-linux-i686 mysql 로 링크를 잡았습니다.
connector는 /usr/local/java/jre/lib/ext 아래 mysql-connector-java-3.1.14-bin.jar 를 설치를 했습니다.
/etc/profile 파일에 아래 사항을 추가했습니다. (tomcat 은 4.1 버젼이구요. 아피치2 하고 연동은 제대로 됐습니다)
---------------------------------------------------------------------------------------------
JAVA_HOME=/usr/local/java
CATALINA_HOME=/usr/local/tomcat
MYSQL=/usr/local/mysql
CLASSPATH=.
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar
CLASSPATH=$CLASSPATH:$JAVA_HOME/jre/lib/ext/mysql-connector-java-3.1.14-bin.jar
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$MYSQL/bin
export JAVA_HOME
export CATALINA_HOME
export MYSQL
export CLASSPATH
export PATH
------------------------------------------------------------------------------------------------
java와 mysql 연동을 테스트하기 위해 아래 샘플 소스를 하나 만들었구요..( jdbc.java)
import java.sql.*;
public class jdbc {
public static void main(String argv[]) {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
try {
String url = "jdbc:mysql://localhost:3306/mysql?autoReconnect=true";
Connection con = DriverManager.getConnection(url,"root","1234");
System.out.println("mysql connection ok........");
Statement stmt = con.createStatement();
ResultSet rs=stmt.executeQuery("Select host, user from user where user='root'");
System.out.println("Got result: ");
while(rs.next()) {
String hostname = rs.getString(1);
String username = rs.getString(2);
System.out.println("host = "+hostname);
System.out.println("user = "+username);
}
stmt.close();
con.close();
} catch(java.lang.Exception ex) {
ex.printStackTrace();
}
}
}
컴파일은 javac jdbc.java (에러 없음)
실행은 java jdbc 로 했을때
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/Savepoint
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
에러가 발생하고 에러가 발생하는 라인은
Connection con = DriverManager.getConnection(url,"root","1234");
부분입니다.. 인터넷 여기저기 뒤저보고 해봤는데.. 도체 에러를 잡을수가 없네요..
도움 부탁드려요
참고) jdbc.java 가 있는 현디렉토리에 hello.java 를 작성해서 컴파일하고 실행하면 제대로 실행이 됩니다.
|