DBPower.on(Map map){
....
....
String implType = props.getProperty("type", "ralasafe");
if (implType.equalsIgnoreCase("ralasafe")) {
DataSourceProviderDbcpImpl impl = new DataSourceProviderDbcpImpl();
String validInfo = impl.getValidInfo(props);
...
...
}
web.xml中配置了servlet,初始化init方法,会调用DBPower.on()方法。用来初始化数据库连接。
由于写单元测试测需要,想要直接调用DBPower.on()方法。结果每次走到DataSourceProviderDbcpImpl impl = new DataSourceProviderDbcpImpl();这行代码都会报错:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/pool/ObjectPool
at org.ralasafe.db.DBPower.on(DBPower.java:97)
at com.haier.hrois.BaseTestCase.main(BaseTestCase.java:87)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool.ObjectPool
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
public class DataSourceProviderDbcpImpl extends DataSource {......}