我正在开发这个 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/lib
, catalinaHome/shared/lib
, 和 web-inf/lib
.
我还编辑了 catalina.properties
所以它从 shared/lib
读取文件夹。
我没有想法,任何帮助都会很棒!
更新 #1 - 问题已解决
我手动将 .class 文件包含到 war 文件中,现在它可以工作了。
最佳答案
CATALINA_HOME/lib 应该可以工作。之后你重启过 Tomcat 了吗?
SQL 驱动程序需要一些 DLL,it seems .您是否正确设置了它们?可见的错误可能仍然是 ClassNotFound,因为如果类无法静态初始化,它会被视为根本找不到类。
在将驱动程序部署到 Tomcat 之前,进行一个小型本地测试 - 一个加载驱动程序并尝试连接的独立 Java 类。可以更清楚地指出问题。
关于java - 在哪里放置 sqljdbc.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5833991/