问题描述
我一直在尝试使用 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)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)