【发布时间】:2013-09-22 19:45:38
【问题描述】:
我在 C:\Tomcat5.5\common\lib 中有以下文件
activation.jar
bonecp-0.7.1.RELEASE.jar
commons-el.jar
ecj-3.7.2.jar
guava-15.0.jar
碧玉编译器.jar
jasper-runtime.jar
jsp-api.jar
jtds-1.3.1.jar
log4j-1.2.17.jar
邮件.jar
命名工厂-dbcp.jar
命名-factory.jar
命名资源.jar
servlet-api.jar
slf4j-api-1.7.5.jar
我在 server.xml 中有以下内容
<Resource
auth="Container"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
type="com.jolbox.bonecp.BoneCPDataSource"
idleMaxAge="240"
idleConnectionTestPeriod="60"
partitionCount="3"
acquireIncrement="1"
maxConnectionsPerPartition="10"
minConnectionsPerPartition="3"
statementsCacheSize="50"
releaseHelperThreads="4"
name="jdbc/MyDatasource"
jdbcUrl="jdbc:jtds:sqlserver://localhost:1433;databaseName=ROWAN-UK;integratedSecurity=true;"
username="rowanadmin"
password="aeibP4wwZgr"
factory="org.apache.naming.factory.BeanFactory"/>
以及 C:\Tomcat5.5\conf\context.xml 中的以下内容:
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<ResourceLink global="jdbc/MyDatasource" name="jdbc/MyDatasource" type="com.jolbox.bonecp.BoneCPDataSource"/>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
</Context>
我在 Tomcat5-stdout.log 中得到以下信息:
2013-09-22 21:28:52 Commons Daemon procrun stdout 初始化 SLF4J: 无法加载类“org.slf4j.impl.StaticLoggerBinder”。 SLF4J: 默认为无操作 (NOP) 记录器实现 SLF4J:请参阅 http://www.slf4j.org/codes.html#StaticLoggerBinder 了解更多 细节。 java.lang.reflect.InvocationTargetException 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) 引起 by: java.lang.IllegalAccessError: 试图访问方法 com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap; 来自 com.jolbox.bonecp.BoneCPDataSource 类 com.jolbox.bonecp.BoneCPDataSource.(BoneCPDataSource.java:64) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 方法)在 sun.reflect.NativeConstructorAccessorImpl.newInstance(未知来源) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知 来源)在 java.lang.reflect.Constructor.newInstance(未知来源) 在 java.lang.Class.newInstance0(Unknown Source) 在 java.lang.Class.newInstance(未知来源)在 org.apache.naming.factory.BeanFactory.getObjectInstance(BeanFactory.java:143) 在 org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140) 在 javax.naming.spi.NamingManager.getObjectInstance(未知来源) 在 org.apache.naming.NamingContext.lookup(NamingContext.java:793) 在 org.apache.naming.NamingContext.lookup(NamingContext.java:140) 在 org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:113) 在 org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71) 在 org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:137) 在 org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:144) 在 org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:109) 在 org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:81) 在 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) 在 org.apache.catalina.core.StandardServer.start(StandardServer.java:693) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:552) ... 还有 6 个
【问题讨论】: