【发布时间】:2021-01-21 17:00:24
【问题描述】:
我一直在尝试使用 Microsoft 官方 JDBC 驱动程序:https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc 尝试了最新的和最旧的,甚至是其他随机的,但仍然没有成功。
我收到此错误:
java.lang.NoClassDefFoundError: sun/security/ssl/HandshakeStateManager
javax.el.ELException: java.lang.NoClassDefFoundError: sun/security/ssl/HandshakeStateManager
我也尝试过类似这样的其他建议:https://stackoverflow.com/a/64386147/13924032 删除了sun文件夹,还是一样的错误。
这是我正在使用的依赖项
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>
我的连接代码也是这样的:
public void ConectarSQL() {
try {
Class.forName(driver);
con = DriverManager.getConnection(url);
if(con != null) {
DatabaseMetaData metaObj = (DatabaseMetaData) con.getMetaData();
System.out.println("Driver Name?= " + metaObj.getDriverName() + ", Driver Version?= " + metaObj.getDriverVersion() + ", Product Name?= " + metaObj.getDatabaseProductName() + ", Product Version?= " + metaObj.getDatabaseProductVersion());
}
} catch(ClassNotFoundException | SQLException sqlException) {
sqlException.printStackTrace();
}
}
DataBaseMetaData 仅用于测试连接。
我错过了什么吗?这是我第一次使用 maven,对简单的 java 项目没有任何问题。
我正在使用 glassfish 服务器 5 Java EE 8 网络 JSF 2.3 JDK 1.8 (1.8.0_131)
【问题讨论】:
标签: java maven glassfish mssql-jdbc