[SQL] SQL 서버 JDBC와 "NoClassDefFoundError를 모두 javax / XML / 바인드 / DatatypeConverter"
SQLSQL 서버 JDBC와 "NoClassDefFoundError를 모두 javax / XML / 바인드 / DatatypeConverter"
나는 최근 인 IntelliJ로 전환하지만 내 localDB에 연결하는 하드를 찾는거야. 동일한 코드는 이클립스 좋은 일했다. 또한 이미 모듈 의존성과 sqljdbc42.jar을 추가했습니다.
package com.enter;
import java.sql.*;
public class SqlConnect {
private String username, password, url;
public Connection conn;
public SqlConnect() {
username = "user=admin;";
password = "password=admin";
url = "jdbc:sqlserver://Bossman-PC\\SQL2014TRAINING;databaseName=EnterDB;";
Connect();
}
public SqlConnect(String user, String pass) {
username = user;
password = pass;
url = "jdbc:sqlserver://Bossman-PC\\SQL2014TRAINING;databaseName=EnterDB;";
Connect();
}
public void Connect() { //Loads sql driver and creates a connection object with local database
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = url + username + password;
conn = DriverManager.getConnection(connectionUrl);
System.out.println("Connected.");
} catch(Exception e) {
e.printStackTrace();
}
}
public Connection getConnection() {
return conn;
}
}
오류 발생 :
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4098)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3160)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:678)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:252)
at com.enter.SqlConnect.Connect(SqlConnect.java:25)
at com.enter.SqlConnect.<init>(SqlConnect.java:12)
at com.enter.Login.makeConnection(Login.java:26)
at com.enter.Login.<init>(Login.java:16)
at com.enter.Execute.initLogin(Execute.java:14)
at com.enter.Execute.main(Execute.java:9)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 19 more
Process finished with exit code 1
어떤 도움을 크게 감상 할 수있다. 또한 오버로드 DriverManager.getConnection를 (URL, 사용자, 패스) 메소드와 같은 오류를 시도했습니다.
해결법
-
==============================
1.자바 9+ 호환성을 위해, 당신은 jreXX 버전 접미사로 식별 사용하는 자바 버전을 버전 6.4.0 이상을 사용해야합니다. ) 낮은 가장 높은 버전을 사용하거나, 자바 버전과 동일.
자바 9+ 호환성을 위해, 당신은 jreXX 버전 접미사로 식별 사용하는 자바 버전을 버전 6.4.0 이상을 사용해야합니다. ) 낮은 가장 높은 버전을 사용하거나, 자바 버전과 동일.
GitHub의에 Microsoft에서 언급 한 바와 같이 :
당신도 자바 (8) JDK를 사용하여 전환 할 수 있습니다, 또는 당신은 자바 9 JDK와 프로젝트 및 사용에 자신의 'JDBC4.3'지점에서 마이크로 소프트의 개발 코드를 통합 할 수 있습니다.
-
==============================
2.당신이 여분의 JVM 매개 변수를 포함하는 경우 작업이를 얻을 수 있습니다
당신이 여분의 JVM 매개 변수를 포함하는 경우 작업이를 얻을 수 있습니다
--add-modules=java.se.ee
여기 갈 것 인 IntelliJ에서 실행 구성에서 어떤
이 후 미래 제거되지 않는 것으로 단지 정말 마이크로 소프트 릴리스 자바 (9) 호환 JDBC 드라이버 때까지 임시 해결책 그래서 이러한 자바 (10)에서 제거 될 수 있도록 자바 (9)에 표시 한 몇 가지 모듈이 포함되어 있습니다.
보기에이 Java9 마이그레이션 가이드에서 찾을 수 있습니다
from https://stackoverflow.com/questions/47422579/noclassdeffounderror-javax-xml-bind-datatypeconverter-with-sql-server-jdbc by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 오늘 날짜를 기준으로 이전 월요일 및 이전 일요일의 날짜 (0) | 2020.07.15 |
---|---|
[SQL] SSIS에서 여러 열로 쉼표 구분 기호와 데이터의 단일 열을 분할 (0) | 2020.07.15 |
[SQL] 열 값으로 행 값을 만들기 - SQL PIVOT (0) | 2020.07.14 |
[SQL] SQL을 사용하여 고유 한 난수를 생성 (0) | 2020.07.14 |
[SQL] PHP도 INI 값을 설정 한 후, MSSQL BLOB 데이터 (4096b)를 절단한다. 나는 하나의 실종? (0) | 2020.07.14 |