关于java连接sql server2014报错Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/Da 2018-12-26 15:57:57

首先我的jdk是10.0.1的,在我都配置好了SQL server2014的时候用一下代码测试是否连接成功
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class DBUtil {

public static Connection getConnection() {
String username = "sa";//SQL server 的登录名
String password = "jsjzx123456";//登录名下的密码
String url="jdbc:sqlserver://localhost:1433;DatabaseName=QQDB";//QQDB是自己建立的一个数据库
String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";

try {
Class.forName(driver);//加载驱动程序
Connection con= DriverManager.getConnection(url, username, password);
return con;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
Connection con = DBUtil.getConnection();
System.out.println(con.toString());
}

当正确连接的时候返回的是:

但是我一直报错误:

这个是 由于缺少了javax.xml.bind,在jdk10.0.1中没有包含这个包,所以我自己去网上下载了jdk 8,然后把jdk10.0.1换成jdk 8问题就解决了:

jdk下载网址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

跟换jdk的步骤为:window-->preference-->java下面的installed JRE然后导入你新下的jdk就可以了

重新运行后就没有报错了,希望能解决大家的问题

我的jdk版本为jdk1.8.0_281 下载链接:Download java x. xml . bind .jar : java x. xml «j«Jar File Download 下载解压出 java x. xml . bind 包后,和导入 sql 包步骤一致,导入完成即可解决问题 附上我测试时候的代码 package ttttt; import java . sql .*; public class BaseConnection { public static... 根据下图,我们可以得知PlatformClassLoader是ClassLoader的子类,并且我们的URLClassLoader可以指定父类加载器,那么我们可以尝试在获取URLClassLoader时,指定PlatformClassLoader加载器为父类加载器,那么根据双亲委派机制,我们加载外部数据库驱动时,就能加载到类 java . sql .Driver了,即可完美解决问题。我们调用时并没有指定父类加载器,那么根据下图我们可得知URLClassLoader的父类加载器为SecureClassLoader。 jdk升级之后出现异常: java . lan g. NoClassDefFoundError : java x/ xml /ws/Service 1、解决方案jdk降级至1.8之前 2、由于JDK9以后,去除了 java x. xml 包需要引入对应的jar包 <dependency> <groupId> java x.activation</groupId> <artifactId> java x.activation-api</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId> java x. xml . bind </groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> ..... 在spark1.X以前,Logging使用的是org.apache.spark.Logging这个类,但是在spark2.X以后,这个类被改成了import org.apache.spark.internal.Logging。 下图的spark版本是2.x,可以看出对于org.apache.spark.Logging这个类,它已经不识别了,所以这里需要将spark的版本替换成2.X。 文献1:http://topic.csdn.net/u/20070812/16/b24350b6-3db4-4f7e-9861-1a113f53adff.html 文献2:http://doc.linuxpk.com/4703.html 2错误描述 1.问题描述 在一个Maven项目中 报错 Exception in thread " main " java . lan g. NoClassDefFoundError : java x/ xml / bind / Da tatypeConverter 这是因为 java x. xml . bind 包在JDK8以上的版本被移除,而我用的是JDK9,所以需要更改JDK版本(不推荐)或者手动引入。 2.解决方法 下载 java x. xml . bind .jar包,点击IDEA右上角图标打开Project Structure->Libra <!-- https://mvnrepository.com/artifact/ java x. xml . bind /jaxb-api --> <dependency> <groupId> java x. xml . bind </groupId> <artifactId>jaxb-api</a 最近在倒腾Flutter,在环境配置的时候遇到一些问题,在安装之后执行flutter doctor 有些地方会出现红叉,这个时候有很多人说到sdk的tools目录的bin目录执行sdkmanager --licenses这个时候就出现说新版本需要更新,然后就要执行sdkmanager --up da te 然后就出现了下面的异常 C:\Users\Administrator\App Da ta\Lo... 16/01/08 18:52:54 [ main ]: WARN hive.metastore: Failed to connect to the MetaStore Server ... org.apache.thrift.transport.TTransport Exception : java .net.Connect Exception : Connection refused Exception in thread " main " java . lan g. NoClassDefFoundError : java x/ xml / bind /annotation/ Xml Schema at com.android.repository.api.SchemaModule$SchemaModul... 启动springboot项目出现以下错误 Exception in thread " main " java . lan g.ClassNotFound Exception : com.ix.Application at java .net.URLClassLoader.findClass(URLClassLoader. java :382) at java . lan g.ClassLoader.loadClass(ClassLoader. java :418) at org.sprin 博主在学习使用shiro的时候,发现代码运行抛出 NoClassDefFoundError ,百度了很多文章,发现也没多大用处,几乎都是说没导入jar包导致的,但是我明明就添加了commons-beanutils-1.9.3.jar到 built path 里了,为啥还 报错 呢? 最后发现是版本问题,我更换commons-beanutils-1.9.2.jar后,程序运行就正常了; 至于为什么使用1.9.3版本会 报错 而1.9.2正常,我还没有找到原因,估计是我其他jar包的版本不兼容吧 <br />对于我们这些初学者来说,虽然环境配置成功。但是我们对这些变量到底什么意思并不清楚。<br />  三个环境变量: JAVA _HOME、PATH 和 CLASSPATH。<br /> JAVA _HOME:该环境变量的值就是 Java 所在的目录,一些 Java 版的软件和一些 Java 的工具需要用到该变量,设置 PATH 和 CLASSPATH 的时候,也可以使用该变量以方便设置。<br /> PATH:指定一个路径列表,用于搜索可执行文件的。执行一个可执行文件时,如果该文件不能在当前路径下找到, 异常描述:在启动SpringBoot项目时 报错 :SpringBoot项目启动时报 Exception in thread main java . lan g. NoClassDefFoundError : org/springframework/core/metrics/ApplicationStartup 报错 截图如下: 问题原因:pom文件中的版本问题(网上各种不同依赖改版本,我也不知道是哪个依赖有问题,但是应该是pom. xml 文件中的版本问题。) 解决措施: 1.打开pom. xml 文件 2.找到这一段