繁体   English   中英

ClassNotFoundException:BasicDataSourceFactory

[英]ClassNotFoundException: BasicDataSourceFactory

我有一个JAVA应用程序,可以在Tomcat7的本地Windows7环境中正常运行。 我正在尝试将其在Linux环境中投入生产。 除非我的应用程序尝试访问数据库,否则一切都已完成并且工作正常。 不涉及DB的操作可以正常工作。 我得到的错误是

java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory

此类是tomcat-dbcp.jar的一部分。 这放在我的$ CATALINA_HOME / lib文件夹中。 为什么还没有捡起来? 请帮忙!

更新:我还打开了.jar文件并进行了检查。 存在org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory.class文件。

终于能够破解它。 我的错误-我仅依靠echo $ CATALINA_HOME检查其位置。 事实证明,这可能会产生误导。 最好用

ps aux | grep catalina

在随后的输出中,查找catalina.base和catalina.home。 这些变量前面给出的路径是从其中获取Tomcat库的路径。 我已经进行了默认安装,并在/ usr / share / tomcat7下找到了libs。 事实证明,使用yum完成的默认安装未提供tomcat-dbcp.jar文件。 相反,它提供了commons-dbcp.jar。 了解有关tomcat-dbcp与commons-dbcp的信息

更改usr / share / tomcat7文件夹下的lib文件要求我使用sudo bash。 您可能还会注意到/ usr / share / tomcat7下的lib文件夹是一个simlink。 只需执行ls / usr / share / tomcat7 -l即可获取父位置。 您将只能在父位置进行更改。 可以检查server.xml的类似内容,该文件最终还是从/ usr / share / tomcat7本身中选取的。

管理所有这些的最佳方法是创建自己的simlink,这样您就不必在第一次后就去各个地方。

感谢所有尝试提供帮助的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM