我正在开发这个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
文件夹中读取。
我没有想法,任何帮助都会很棒!
我手动将.class文件包含到war文件中,现在它可以正常工作。
答案 0 :(得分:2)
CATALINA_HOME / lib应该有效。那之后你重新启动了Tomcat吗?
SQL驱动程序需要一些DLL it seems。你有正确的设置吗?可见错误可能仍然是ClassNotFound,因为如果类无法静态初始化,则会将其视为根本找不到的类。
在将驱动程序部署到Tomcat之前,进行一个小型本地测试 - 一个独立的Java类,它加载驱动程序并尝试连接。可以更明确地指出你的问题。
答案 1 :(得分:1)
正确的位置是application/WEB-INF/lib/
。请注意大写WEB-INF
。