我正在构建一个 RESTful Web 服务。我正在使用 Jax-rs(Jersey),一个简单的客户端和一个简单的服务器。我附加了一个 PostgreSQL 数据库,它是相应的 JDBC 驱动程序。
当不涉及数据库内容时,服务器和客户端可以完美地工作。(所以客户端/服务器代码很好)
问题开始当我扩充服务器以查询数据库时:
服务器抛出:No suitable driver found for jdbc:postgresql://localhost/MyDataBase
客户端报告500 internal service error
如果我从一个普通的旧 java 应用程序(在同一个包中)以相同的方式使用数据库,则没有任何问题(所以连接/查询代码也很好)。
只有当我从服务器查询它时才会收到错误。所以,我认为代码没有问题,只有 JDBC 驱动程序的位置。
我试过了:
- 将 postgresql 驱动程序 .jar 放在我项目中的几乎所有地方
- Class.forName("../../..postgresql.jar")
我想知道:
- 这个 .jar 应该放在动态 Web 项目中的什么位置?
- 为什么它适用于 Java 应用程序,但不适用于应用程序服务器?