java运行出错java.lang.NoClassDefFoundError

在javaweb项目中写了一个DBUtil,使用的是DBCP连接池,写完之后做了一个测试能够正常运行,而当我在Tomcat上运行的时候却报错:java.lang.NoClassDefFoundError,请问这是什么原因?

依赖包:

测试类运行结果:

DBUtil.java代码如下:

public class DBUtil {

private static BasicDataSource dataSource;

//初始化BasicDataSource

static {

Properties p = new Properties();

try {

p.load(DBUtil.class.getClassLoader().getResourceAsStream("db.properties"));

//读取和初始化连接参数

String driver = p.getProperty("jdbc.driver");

String url = p.getProperty("jdbc.url");

String user = p.getProperty("jdbc.user");

String pwd = p.getProperty("jdbc.pwd");

int initialSize = Integer.parseInt(p.getProperty("jdbc.initialSize"));

int maxActiveSize = Integer.parseInt(p.getProperty("jdbc.maxActiveSize"));

//初始化BasicDataSource对象

dataSource = new BasicDataSource();

//注册驱动

Class.forName(driver);

//连接参数

dataSource.setUrl(url);

dataSource.setUsername(user);

dataSource.setPassword(pwd);

//管理策略参数

dataSource.setInitialSize(initialSize);

dataSource.setMaxActive(maxActiveSize);

} catch (IOException | ClassNotFoundException e) {

e.printStackTrace();

throw new RuntimeException("加载db.properties文件失败");

}

}

/**

* 从连接池中获取重用的连接,如果连接池满了则等待。

* 如果有连接归还,则获取重用的连接。

* @return

* @throws SQLException

*/

public static Connection getConnection() throws SQLException {

return dataSource.getConnection();

}

}

Tomcat日志:


回答:

可能是静态代码块报错了,捕获Exception,打印异常日志

以上是 java运行出错java.lang.NoClassDefFoundError 的全部内容, 来源链接: utcz.com/p/944258.html

回到顶部