【发布时间】:2011-04-15 19:19:47
【问题描述】:
我们正在开发一个商业软件产品。它支持 Oracle、MySQL 和 SQL*Server 后端(我们也使用 H2 进行测试)。我们使用特定版本的 JDBC 驱动程序对那些不同的数据库进行集成测试。 Maven 完美地处理了这一切。
在将应用程序打包为 WAR 时,是否可以包含 JDBC 驱动程序?标准做法是什么?
由于我们不知道可以提前使用哪个数据库,因此我们必须将它们全部包含在内。目标 servlet 容器是 Tomcat 和 Jetty,但一些客户也希望在 WebSphere 和 JBoss 中运行。
所以 servlet 包含并且应用程序服务器带有它们自己的 JDBC 驱动程序?我们的会不会冲突?另一个问题是我们已经开发和测试了一个版本的驱动程序,如果客户使用另一个版本,我们可能会遇到问题。
目前我们使用 Spring 数据源 bean,但正在转向 JNDI 查找数据源。
【问题讨论】: