将jar添加到Tomcat服务安装的lib文件夹后,ClassNotFoundException

时间:2014-01-20 17:09:30

标签: java class jar tomcat7

我正在尝试更新网络应用以使用DBCP。本地运行良好(Windows安装时典型的Tomcat)。但是,在DEV服务器(EC2 LINUX AMI; Tomcat即服务)上,我得到以下内容

Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]

我已将此缩小(我认为)到最初没有/lib的{​​{1}}文件夹。

我已添加此jar,并使用以下内容重新启动Tomcat实例...

tomcat-jdbc.ja

但是,我仍然得到相同的ClassNotFoundException。如何让Tomcat服务识别sudo service tomcat7 restart

编辑 - 这是运行tomcat-dbcp.jar

后的堆栈跟踪
sudo service tomcat7 start

1 个答案:

答案 0 :(得分:4)

如果其他人有这个问题,我就是这样解决的。

在我的context.xml文件中,我必须具有标记

的以下属性
factory="org.apache.commons.dbcp.BasicDataSourceFactory"

...所以我的最终标签看起来像......

<Resource name="jdbc/resourceName"
    auth="Container"
    type="javax.sql.DataSource"
    logAbandoned="false" 
    maxActive="100"
    maxIdle="30"
    maxWait="10000"
    username= "username"
    password="password"
    driverClassName="com.mysql.jdbc.Driver"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory"
    url="jdbc:mysql://your.mysql.host"/>

基本上,我只是强迫它恢复使用Tomcat的DBCP类。