3

我正在开发这个 Java 应用程序,在 eclipse 中一切正常,但是这个程序不能在 Apache Tomcat 7.0 上运行,因为它找不到 sqlserver 驱动程序。

这个应用程序假设连接到一个 sqlserver 2005 数据库,但它不会通过Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")服务器端的 , 。

我知道这是那条线,因为我发现:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

在我的日志文件中。我把sqljdbc.jar,catalinaHome/libcatalinaHome/shared/lib.web-inf/lib

我还编辑了它,所以它从文件夹中catalina.properties读取。shared/lib

我没有想法,任何帮助都会很棒!

更新 #1 - 问题已解决

我手动将 .class 文件包含在 war 文件中,现在它可以工作了。

4

2 回答 2

2

CATALINA_HOME/lib 应该可以工作。之后您是否重新启动了Tomcat?

而且 SQL 驱动程序需要一些 DLL,似乎. 您是否正确设置了它们?可见错误可能仍然是 ClassNotFound,因为如果类无法静态初始化,则将其视为根本找不到类。

在将驱动程序部署到 Tomcat 之前,进行一个小型本地测试 - 一个独立的 Java 类,它加载驱动程序并尝试连接。可以更清楚地指出你的问题。

于 2011-04-29T15:28:03.370 回答
1

它的正确位置是application/WEB-INF/lib/。注意大写WEB-INF

于 2011-04-29T15:37:03.187 回答