JDBC 驱动程序是否应该包含在 WAR 中?

2024-02-06

我们正在开发一个商业软件产品。它支持 Oracle、MySQL 和 SQL*Server 后端(我们也使用 H2 进行测试)。我们使用特定版本的 JDBC 驱动程序针对这些不同的数据库进行集成测试。 Maven 完美地处理了这一切。

当将应用程序打包为 WAR 时,如果我们包含 JDBC 驱动程序可以吗?标准做法是什么?

由于我们不知道可以提前使用哪个数据库,因此我们必须将它们全部包含在内。目标 servlet 容器是 Tomcat 和 Jetty,但一些客户也希望在 WebSphere 和 JBoss 中运行。

那么 servlet 包含并且应用程序服务器带有它们自己的 JDBC 驱动程序?我们的会冲突吗?另一个问题是,我们已经使用一个版本的驱动程序进行了开发和测试,如果客户使用另一版本,我们可能会遇到问题。

当前我们使用 Spring 数据源 bean,但正在转向数据源的 JNDI 查找。


那么 servlet 包含并且应用程序服务器带有它们自己的 JDBC 驱动程序?

有些是这样做的(例如 WebLogic)。

我们的会冲突吗?

他们不应该。但不确定在应用程序级别创建独立连接池时会选择您的连接池(这完全取决于类加载器委托模式)。

另一个问题是,我们已经使用一个版本的驱动程序进行了开发和测试,如果客户使用另一版本,我们可能会遇到问题。

拥有受支持版本的列表。

当前我们使用 Spring 数据源 bean,但正在转向数据源的 JNDI 查找。

如果您的意思是使用应用程序服务器提供的连接池,则必须在应用程序服务器上安装驱动程序集装箱液位,而不是在应用程序级别。这不知何故结束了讨论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JDBC 驱动程序是否应该包含在 WAR 中? 的相关文章

  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • HAProxy SSL终止+客户端证书验证+curl/java客户端

    我希望使用我自己的自签名证书在 HAProxy 上进行 SSL 终止 并使用我创建的客户端证书验证客户端访问 我通过以下方式创建服务器 也是 CA 证书 openssl genrsa out ca key 1024 openssl req
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有
  • Logback:SizeAndTimeBasedRollingPolicy 不遵守totalSizeCap

    我正在尝试以一种方式管理我的日志记录 一旦达到总累积大小限制或达到最大历史记录限制 我最旧的存档日志文件就会被删除 当使用SizeAndTimeBasedRollingPolicy在 Logback 1 1 7 中 滚动文件追加器将继续创建
  • 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

    我正在寻找一个用于大容量网络应用程序的 GZIP servlet 过滤器 我不想使用容器特定的选项 要求 能够压缩响应负载 XML Faster 已在大批量应用的生产中得到验证 应适当设置适当内容编码 跨容器移植 可选择解压缩请求 谢谢 我
  • 为什么 MOVE CURSOR 在 OS X Mountain Lion 上不显示?

    我正在做一个项目 想看看 Swing 提供的每个光标是什么样子的 public class Test public static void main String args JFrame frame new JFrame frame set
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • Java中的断点和逐步调试?

    抱歉我的问题名称很奇怪 我不知道如何寻找这个 因为我不知道这些东西是如何称呼的 Visual Studio 中至少有一个功能 您可以单击代码左侧并设置一个大红点的起点 然后运行程序 您可以通过按 f8 或 f5 实际上是不同的 f 来跟踪步
  • 是否可以从 servlet 内部以编程方式设置请求上下文路径?

    这是一个特殊情况 我陷入了处理 企业 网络应用程序的困境 企业应用程序正在调用request getContext 并将其与另一个字符串进行比较 我发现我可以使用 getServletContext getContextPath 获取 se
  • org/codehaus/plexus/archiver/jar/JarArchiver(不支持的major.minor版本49.0)-Maven构建错误

    下午大家 我在尝试构建项目时收到上述错误 我很确定这与使用 Java 1 6 编译的 Maven 最新更新有关 而我们尝试构建的项目是 1 4 项目 在此之前的插件工作没有问题 因此我将以下内容添加到 POM xml 文件中以尝试强制使用现
  • 从直方图计算平均值和百分位数?

    我编写了一个计时器 可以测量任何多线程应用程序中特定代码的性能 在下面的计时器中 它还会在地图中填充花费了 x 毫秒的调用次数 我将使用这张图作为我的直方图的一部分来进行进一步的分析 例如调用花费了这么多毫秒的百分比等等 public st
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • 基于 Spring Boot 的测试中的上下文层次结构

    我的 Spring Boot 应用程序是这样启动的 new SpringApplicationBuilder sources ParentCtxConfig class child ChildFirstCtxConfig class sib

随机推荐

  • 如何绕过java.nio.file.DirectoryNotEmptyException? [复制]

    这个问题在这里已经有答案了 有没有办法绕过java nio file DirectoryNotEmptyException 我希望能够删除其中包含内容的文件夹 有没有办法绕过java nio file DirectoryNotEmptyEx
  • PHP 类。如何构建将数据保存到数据库的方法

    我正在构建一个类来将数据保存到数据库 但我不知道如何处理这个问题 我的项目文件夹是这样的 Lib Models Uddt person php uris php Main class php Example usage php Models
  • 具有最大并发数的异步并发队列

    我遇到了一个自定义异步队列的错误 该队列一次调用 10 个异步函数 我正在启动包含 50 个作业的队列 一旦前 10 个作业完成 队列就会移动到后面的 10 个作业 直到完成所有作业 我遇到的错误是 一旦完成 50 个作业 它就会重新启动前
  • Linux 删除超过 1 年的文件夹和超过 3 个文件

    我正在编写一个 ant 脚本来清理存档文件夹 以下是我需要清理的方法 我需要删除超过一定天数的旧文件夹 并且其中包含超过 3 个文件 例如 如果某个文件夹已有 300 天的历史 但只有 3 个文件 则该文件夹不会被删除 我知道我可以通过 s
  • 使用记录 Haskell 进行泛型派生

    我基本上是想看看是否可以在 Haskell 中模拟 ORM 框架 这样如果用户想要创建数据库模型 他们会做这样的事情 data Car Car company String model String year Int deriving Mo
  • 从小部件启动/停止服务

    我想从小部件内部启动一项服务 我知道我可以使用 PendingIntent 来做到这一点 例如 PendingIntent intent PendingIntent getService context 0 new Intent conte
  • npm install 不能与 --prefix 一起使用

    看起来npm install prefix server 没有参数 不适用于 prefix旗帜 我只想安装 package json 中的所有软件包 该命令后我得到的只是 npm WARN enoent ENOENT 没有这样的文件或目录
  • HttpClient的默认最大连接数是多少

    HttpClient 是否使用与 HttpWebRequest 相同的 ServicePoint 连接限制 Thanks 答案并不完整 这取决于实施 在 net核心中ServicePointManager DefaultConnection
  • 在单独的程序集中使用 View 组件进行 ASP NET 5 本地化

    我有一个 类库 项目 上面有一些 ViewComponents 我已经让它们在我的 MVC 6 Web 应用程序 上工作 感谢这个问题 https stackoverflow com questions 34236850 asp net m
  • 如何使用 Python 解码 Angular 的自定义 HTML 编码

    我想抓取并解析伦敦证券交易所新闻文章 https www londonstockexchange com news article ESNT date for fy 2020 results announcement 14850033 网站
  • 如何获取 razor 视图引擎中集合中项目的元数据?

    我有一个项目写在C 位于 ASP NET MVC 5 框架的顶部 我试图将我的视图与视图模型分离 以便我可以使我的视图可重用 随着大量使用EditorTemplates我能够通过评估来创建所有标准视图 即创建 编辑和详细信息 ModelMe
  • 对大于 RAM 大小的数据进行排序

    这是谷歌面试问题 给定 2 台机器 每台机器都有 64 GB RAM 包含所有整数 8 字节 对整个 128 GB 数据进行排序 您可以假设有少量额外的 RAM 扩展此功能以对存储在 1000 台机器中的数据进行排序 我想出了外部排序 我们
  • Strongloop/loopback - 维护多个版本的 API

    我是第一次使用strongloop loopback 有一些基本的指导online https docs strongloop com display public LB Versioning your API用于 API 版本控制 var
  • 具有属性的 UML 建模枚举

    我想使用 Java 枚举 enum 创建一个 UML 图 它具有一个或多个属性 但我对如何做到这一点感到困惑 例如 可以这样声明枚举 public enum Enumeration type LITERAL A attr1 value at
  • ANSI C 编译器可以删除延迟循环吗?

    考虑 ANSI C 中的 while 循环 其唯一目的是延迟执行 unsigned long counter DELAY COUNT while counter 我已经看到这在嵌入式系统上被大量使用来强制延迟 例如 没有sleep功能和定时
  • C++ 构造函数中前导下划线的含义是什么?

    好吧 我不是一个非常有经验的 C 程序员 但我想知道以下构造函数的参数中下划线的意义是什么 class floatCoords public floatCoords float x float y float width float hei
  • PDO 返回所有行[重复]

    这个问题在这里已经有答案了 所以 现在我有一个 PHP 函数 它利用 PDO 返回特定表的第一行 这很好用 但我想返回所有信息 同时能够组织所有信息 我有桌子zip admins我正在尝试返回first name and last name
  • 使用 Google Maps API v3 循环遍历标记问题

    我不知道为什么这不起作用 我没有任何错误 但发生的情况是 无论我单击哪个标记 它总是单击最后一个标记 我不确定为什么 因为 the marker 的设置方式相同 我怎样才能解决这个问题 使用新的 jQuery XML 进行了更新 funct
  • 如何递归删除 UNIX 目录中的所有隐藏文件?

    我已经搜索了一段时间 但似乎无法得到简洁的解决方案 我有一台 Mac 其中有一个文件夹 我想清除该文件夹中的所有隐藏文件 目录 任何隐藏的内容 它曾经是一个包含大量 metadata svn 内容的 Eclipse 工作区 我很乐意将其全部
  • JDBC 驱动程序是否应该包含在 WAR 中?

    我们正在开发一个商业软件产品 它支持 Oracle MySQL 和 SQL Server 后端 我们也使用 H2 进行测试 我们使用特定版本的 JDBC 驱动程序针对这些不同的数据库进行集成测试 Maven 完美地处理了这一切 当将应用程序