2

我正在开发一个 Web 应用程序并且遇到了困难,可以使用一些建议。所以申请是由一个不再在我们公司的同事写的。他们在后端使用 Java 和 Javascript 为 Apache Tomcat 编写了一个 Web 应用程序。该应用程序使用 JDBC api 与 SQL Server 数据库进行交互。这个人在 Eclipse 中完成了所有开发并以这种方式运行它。

我正在尝试使用此 Web 应用程序并将其移动到服务器。我尝试使用 Eclipse 导出 WAR 文件,然后将其放在 Tomcat webapps 文件夹中。然后,当我启动 Tomcat 时,程序被提取出来。到现在为止还挺好。该网站出现并且运行良好。但是,当我尝试访问依赖数据库信息的页面时,一切都将变为 NULL。我浏览了 Tomcat 日志,发现在标准输出中给出了以下消息:

ClassNotFoundException:com.microsoft.sqlserver.jdbc.SQLServerDriver

我曾假设 WAR 文件将包含所有依赖项,但我猜测可能并非如此。如果有人有经验,这是发生了什么事吗?如果有人知道,有没有办法告诉 Eclipse 这样做?否则,我的选择是什么?我不是 Java 开发人员,所以如果需要,我不知道如何安装 JDBC。

任何帮助表示赞赏。麦克风

4

2 回答 2

1

您可以执行以下操作

  1. 转到Microsoft JDBC 驱动程序下载页面并下载 JDBC 驱动程序并将其安装到某个位置。
  2. .war使用 zip 实用程序(如7-zip或)打开文件winzip
  3. 从安装下载的 JDBC 驱动程序的目录中复制 sqljdbc.jarsqljdb_4.0/enu并将其粘贴到WEB-INF/lib解压缩的 war 文件中。
  4. 将其压缩为.war文件并再次部署。

这将使应用程序运行。

如果你想永久修复这个问题,那么你应该在你的构建系统中添加停止以包含sqljdbc.jar在你的WEB-INF/lib构建war文件中,即如果你正在使用 ANT,则在 build.xml 中,或者在你的 Maven 的 pom.xmldependencies中针对此特定依赖项的部分.

于 2012-10-15T03:16:04.637 回答
0

您不需要手动执行“导出WAR>复制到tomcat>启动tomcat”,您可以配置eclipse直接在您的tomcat安装中进行部署,首先双击tomcat服务器,然后选择“使用tomcat安装” “服务器位置”部分。 在此处输入图像描述

确保您的应用程序sqljdbc4.jar在您的项目WebContent/WEB-INF/lib目录中包含 SQLServer JDBC 驱动程序 ()(假设您的同事使用 Eclipse“动态 Web 项目”进行项目布局),如果没有,请从此处下载,解压缩并将其复制到上述文件夹,下次启动tomcat时,它会自动为你添加。

pom.xml如果项目使用 maven 项目布局(项目根文件夹中有一个名为的文件),请使用以下说明在本地存储库中安装依赖项(Maven 和 Microsoft 在驱动程序的许可和重新分发方面存在一些分歧,所以没有回购)

于 2012-10-15T03:20:20.500 回答