簡體   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