我最近将tomcat从v7.3升级到了v9.43,突然之间,我的应用程序在连接到DB时在服务器启动时引发了异常。 异常日志: 严重:异常处理全局JNDI资源 javax.naming.NamingException:无法加载资源工厂类[Root异常是java.lang.ClassNotFoundException:org.apache.commons.dbcp.BasicDataSourceFactory] 在org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:70) 在javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321) 在org.apache.naming.NamingContext.lookup(NamingContext.java:857) 在org.apache.naming.NamingContext.lookup(NamingContext.java:160) 在org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:117) 在org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71) 在org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:34) 在org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:127) 在org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:101) 在org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:76) 在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) 在org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) 在org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) 在org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:923) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在org.apache.catalina.startup.Catalina.start(Catalina.java:633) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498) 在org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343) 在org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474) 引起原因:java.lang.ClassNotFoundException:org.apache.commons.dbcp.BasicDataSourceFactory 在java.net.URLClassLoader.findClass(URLClassLoader.java:382) 在java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:65) ...还有21
答案 0 :(得分:0)
您应该添加此dependency
行家:
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
等级:
compile group: 'commons-dbcp', name: 'commons-dbcp', version: '1.4'