DBCP线程池的练习中出现 org/apache/commons/logging/LogFactory错误…
–>
DBCP线程池的练习
因为中间有其他包,所以分开截图的。
package Test_DBCP;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
/*
* 1.导入jar包
* 2.配置文件 dbcp.properties(配置数据库所连接的信息) 要放在src路径下
* */
public class dbcpTest {
private static DataSource ds;//import javax.sql.DataSource;
static {
try {
//InputStream is=new FileinputStream(“路径是写死的”);
//将dbcp.properties先用输入了读进来,然后load()装载,再赋给ds.
//dbcpTest.class获取当前类的类对象,getClassLoader()获取当前类的加载器,dbcp.properties在类的根路径(src)下
//getSystemResourceAsStream()获取类加载器中的资源。
InputStream is = dbcpTest.class.getClassLoader().getSystemResourceAsStream(“dbcp.properties”);
Properties properties = new Properties();
properties.load(is);
ds = BasicDataSourceFactory.createDataSource(properties);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
Connection conn = ds.getConnection();
System.out.println(conn);
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
( dbcp.properties的参数设置)
#old mysql version:
#driverClassName=com.mysql.jdbc.Driver
#new mysql version:
driverClassName=com.mysql.cj.jdbc.Driver
#url=jdbc:mysql://localhost:3306/users
url=jdbc:mysql://localhost:3306/users?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useSSL=false
username=root
password=0105
maxActive=5
initialSize=2
minIdle=2
maxWait=5000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.commons.dbcp2.BasicDataSourceFactory.<clinit>(BasicDataSourceFactory.java:60)
at Test_DBCP.dbcpTest.<clinit>(dbcpTest.java:31)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 2 more
是因为没有引入commons-logging-1.2.jar,将commons-logging-1.2.jar添加到build Path中就好了。
本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。