【问题标题】:Cant conect to MS SQL using a JSF project with maven无法使用带有 maven 的 JSF 项目连接到 MYSQL
【发布时间】: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


    【解决方案1】:

    对于遇到同样问题的任何人。我设法通过下载和设置新的 glassfish 服务器 (v5.1.0)、安装 JDK 1.8_281 并明确设置 glassfish 服务器以与 JDK 1.8_281 一起运行来运行它。 在此之后,我不再收到错误消息。 而且由于某种原因,最新的驱动程序由于某种原因无法使用此配置,我不知道为什么,但是 7.4.1jre8 完成了这项工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-07
      • 2019-08-01
      • 2015-12-17
      • 2012-04-26
      • 2014-02-16
      • 2016-04-29
      • 2016-05-11
      相关资源
      最近更新 更多