【问题标题】:How to use only Tomcat's shared lib folder?如何仅使用 Tomcat 的共享 lib 文件夹?
【发布时间】:2017-06-25 16:24:24
【问题描述】:

我了解到,我们可以在上下文的 WEB_INF\lib 文件夹中添加一个 .jar 库,以使该库只能对该上下文或在 CATALINA_HOME\lib 文件夹中访问,以使我在该 Tomcat 上运行的所有应用程序都可以访问该库实例。

我想将我的 jdbc 驱动程序库放在 Tomcat 的共享库文件夹 CATALINA_HOME\lib 上,这样我的所有应用程序都可以使用它并利用 Tomcat 的连接池,但我遇到了一些问题。

我使用 NetBeans 作为我的 IDE,我必须在 NetBeans 上定义我的 jdbc 驱动程序,这样它才能使用驱动程序编译我的代码。但是,当 NetBeans 编译我的代码以在 .war 中进行部署时,它会自动将我的驱动程序 .jar 放在 WEB_INF\lib 文件夹中的 .war 中。

如何避免 NetBeans 将我的库嵌入到 .war 存档中,以便我可以利用 Tomcat 的共享库文件夹?

【问题讨论】:

  • 您不需要在编译类路径中包含驱动程序,因为您只使用(或至少应该只使用)来自 java.sql 和 javax.sql 包的类。编译器不需要驱动程序。您只需要在运行时使用它。
  • 我正在使用一些特定的 MySQL 类来识别数据库上的一些异常并做出相应的反应......但现在我测试了删除该代码和库,而我的应用程序在 tomcat 上找不到我的 jar显然......
  • 您使用什么作为构建工具?摇篮?马文?没有?
  • 默认 NetBeans 配置,目前该项目没有特殊的设置环境,所以没有构建工具或任何东西(但我认为 NetBeans 使用了 maven)
  • 在项目属性的库下,库列表在每个库旁边都有一个“包”复选框。我猜如果您取消选中它,该库将不会与应用程序一起打包。

标签: tomcat netbeans deployment war


【解决方案1】:

正如 JB Nizet 所说:

在项目属性的库下,库列表在每个库旁边都有一个“包”>复选框。我想如果您取消选中它,该库将不会与应用程序一起打包。

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多