: 나는 데이터베이스와 연결하는 coorect MySQL의 드라이버를 다운로드 한자바 MySQL의 드라이버 및 ClassNotFoundException가
jdbc:mysql://127.0.0.1:3306/test
, 그리고 수많은 시도 드라이버가 작동하지 않는 상태에서 드라이버를 설정하는 방법 지금까지 나는 다음과 같은 장소에서 JAR 파일을 배치 (그에 따라 PATH 환경 변수를 변경)
JRE/LIB/
JDK/LIB/
JRE/LIB/mysql-connector-java-5.1.21
JDK/LIB/mysql-connector-java-5.1.21
JAR 파일의 경로를 시도하는 것은되었습니다의 마지막 4+ 이상 위치 + mysql-connector-java-5.1.21-bin.jar
시간 StackOverflow에 대한 여러 질문과 솔루션과이 문제에 대한 온라인 자습서를 읽었으며 아무도이 문제를 해결하지 못했습니다.
나는
import java.sql.*;
import java.util.Date;
public class DatabaseHelper{
private Connection conn = null;
private Statement statement = null;
private PreparedStatement preparedStatement = null;
private ResultSet resultSet = null;
private String url = null;
public DatabaseHelper(){
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test");
System.out.println("Driver Loaded!");
}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
}
스택 트레이스
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at DatabaseHelper.<init>(DatabaseHelper.java:28)
at DatabaseTest.<init>(DatabaseTest.java:6)
at DatabaseTest.main(DatabaseTest.java:14)
정확히 코드를 실행하고 있습니까? 어떤 환경과 어떤 명령을? 그것은 실제로 사용되는 클래스 패스에 대한 더 많은 통찰력을 제공 할 것입니다. 그런데 이러한 DB 리소스를 인스턴스 변수로 선언하는 것은 대단히 나쁜 생각입니다. 그러지 마. 이것은 귀하의 구체적인 문제와 관련이 없습니다. – BalusC
클래스 패스에 커넥터 jar 파일을 넣으십시오. jdk 및 jre lib 폴더는 클래스 경로에 적합하지 않습니다. lib라는 이름의 루트 클래스 경로 (.) 아래에 폴더를 만들고 거기에 놓습니다. 그런 다음'java -cp : : ./lib/mysql-connector- java-5.1.21.jar YourMainApp'가 작동해야합니다. jre 또는 jdk lib 폴더에 다른 lib를 배치하면 Java 버전을 업그레이드하기가 어려워집니다. – km1
클래스 경로에 대해 자세히 알아야합니다. http://vafer.org/blog/20081203024812/ – km1