在哪里放置sqljdbc.jar

时间:2011-04-29 15:25:39

标签: java eclipse jdbc tomcat7 classnotfoundexception

我正在开发这个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.jarcatalinaHome/libcatalinaHome/shared/lib中放置了web-inf/lib

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

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

更新#1 - 问题解决了

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

2 个答案:

答案 0 :(得分:2)

CATALINA_HOME / lib应该有效。那之后你重新启动了Tomcat吗?

SQL驱动程序需要一些DLL it seems。你有正确的设置吗?可见错误可能仍然是ClassNotFound,因为如果类无法静态初始化,则会将其视为根本找不到的类。

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

答案 1 :(得分:1)

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