Java 将jar文件保存在WAR和Tomcat lib文件夹中的区别

Java 将jar文件保存在WAR和Tomcat lib文件夹中的区别,java,tomcat7,birt,Java,Tomcat7,Birt,我有一个web应用程序。我希望在该应用程序中使用Eclipse BIRT报告。 如果我将BIRT jar文件添加到Tomcat库中,Tomcat甚至不会因为内存错误而启动 If build WAR with that jars only application runs 区别是什么?这背后的问题是什么?部署到TOMCAT的所有web应用程序都可以看到$TOMCAT/lib目录中的所有JAR。其中,war中的JAR仅对war中包含的web应用程序可见 您通常会将birt引擎库放在tomcat库中

我有一个web应用程序。我希望在该应用程序中使用Eclipse BIRT报告。 如果我将BIRT jar文件添加到Tomcat库中,Tomcat甚至不会因为内存错误而启动

If build WAR with that jars only application runs

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

部署到TOMCAT的所有web应用程序都可以看到$TOMCAT/lib目录中的所有JAR。其中,war中的JAR仅对war中包含的web应用程序可见

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


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

所有WAR文件都可以看到Tomcat/libs中的JAR


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

如果Jar处于战争状态,这意味着它是特定于应用程序的。如果有多个应用程序使用同一个JAR,那么需要为所有应用程序打包该JAR。