我有网络应用程序。我想要那个应用程序中的 Eclipse BIRT 报告。如果我将 BIRT jar 文件添加到 Tomcat lib 中,Tomcat 甚至不会因内存错误而启动。
If build WAR with that jars only application runs
有什么区别,这背后的问题是什么?
Tomcat/libs 中的 jar 对所有 WAR 文件都是可见的。
通常不需要将 JAR 放在 Tomcat/libs 中。只有当您的 WAR 文件非常大(比如 50 MB+)并且其中大部分是第三方 JAR 时才会这样做。在这种情况下,您可以移动所有不属于您的源代码的 JAR,如 Spring、Hibernate 等,并将它们移动到 Tomcat/Lib 并部署一个轻量级的 WAR。这可能只需要用于暂存/测试/生产系统。
$TOMCAT/lib 目录中的所有 jar 对部署到 tomcat 的所有 Web 应用程序都是可见的。因为战争中的罐子只有战争中包含的 Web 应用程序才能看到。
您通常会将 birt 引擎库放在您的 tomcat 库中。但是实际的报告和执行报告的代码将在您的战争中。
如果您在 tomcat 的 lib 目录中有 birt 引擎 jars 时启动 tomcat 有问题,那么这是另一回事。您可以显示您遇到的错误,以便我们了解如何修复它。