【问题标题】:Difference between keeping jar files in WAR and Tomcat lib folder将 jar 文件保存在 WAR 和 Tomcat lib 文件夹中的区别
【发布时间】:2013-07-02 15:05:20
【问题描述】:

我有网络应用程序。我想要那个应用程序中的 Eclipse BIRT 报告。 如果我将 BIRT jar 文件添加到 Tomcat lib 中,Tomcat 甚至不会因内存错误而启动。

If build WAR with that jars only application runs

有什么区别,这背后的问题是什么?

【问题讨论】:

  • 如果 Jar 在 WAR 中,这意味着它是特定于应用程序的。如果您有多个具有相同 JAR 的应用程序,那么您需要为所有应用程序打包该 jar。

标签: java tomcat7 birt


【解决方案1】:

Tomcat/libs 中的 jar 对所有 WAR 文件都是可见的。

通常不需要将 JAR 放在 Tomcat/libs 中。只有当您的 WAR 文件非常大(例如 50 MB+)并且其中大部分是第三方 JAR 时才会这样做。在这种情况下,您可以移动所有不属于您的源代码的 JAR,如 Spring、Hibernate 等,并将它们移动到 Tomcat/Lib 并部署一个轻量级的 WAR。这可能仅适用于暂存/测试/生产系统。

【讨论】:

    【解决方案2】:

    $TOMCAT/lib 目录中的所有 jar 对部署到 tomcat 的所有 Web 应用程序都是可见的。战争中的 jar 仅对战争中包含的 Web 应用程序可见。

    您通常会将 birt 引擎库放在您的 tomcat 库中。但是实际的报告和执行报告的代码将在您的战争中。

    如果你在 tomcat 的 lib 目录中有 birt 引擎 jars 时启动 tomcat 有问题,那就是另一回事了。您可以显示您遇到的错误,以便我们了解如何修复它。

    【讨论】:

      猜你喜欢
      • 2014-10-08
      • 1970-01-01
      • 2012-05-11
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 2019-10-04
      • 2013-10-08
      相关资源
      最近更新 更多