关于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.找到这一段