JavaWeb通过JDBC连接SQLServer数据库 报错(java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter)

本文介绍了一种在使用Java通过JDBC连接SQLServer 2017时遇到的问题,即出现java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter错误,并给出了详细的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java通过JDBC连接SQL Server2017数据库

sqljdbc42.jar下载:

https://blog.csdn.net/liurui50/article/details/88871871

在这里插入图片描述

在这里插入图片描述

完成上面后,我就编写代码测试数据库的连接,结果出现下面错误!

下面使用数据库时报错:

HTTP状态 500 - 内部服务器错误
        类型 异常报告
        消息 Servlet执行抛出一个异常
        描述 服务器遇到一个意外的情况,阻止它完成请求。
        例外情况
        javax.servlet.ServletException: Servlet执行抛出一个异常
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        根本原因。
        java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
        com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4098)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3160)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43)
        com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123)
        com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
        com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
        java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
        java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
        api.shopGet.doGet(shopGet.java:32)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        根本原因。

        java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4098)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3160)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43)
        com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123)
        com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
        com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
        com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
        java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
        java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
        api.shopGet.doGet(shopGet.java:32)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

在这里插入图片描述
解决办法:
在这里插入图片描述

dependencies>
        <!--添加下面依赖-->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
    </dependencies>

在这里插入图片描述


问题解决!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

战胜.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值