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