.war 文件是否包含用于在容器中部署的所有依赖项 jar?

Does .war file has all the dependency jars for deployment in a container?

我使用 Jersey(JAR-RS 的参考实现)开发了一个简单的 RESTful 网络服务。

我创建了一个maven项目,在pom.xml我指定了所有的依赖项。我用的是eclipse IDE。它工作正常。

现在,我想将应用程序部署为 apache tomcat 中的 .war 文件。为此,我首先在 eclipse 中使用 "export" 选项(右键单击项目 -> 导出 -> war)并生成 .war 文件。

现在,我的疑问是:

由于我编写的代码依赖于许多 .jar(例如,jersey jar 等),导出的 .war 文件是否包含容器中 运行 所需的所有 .jar在不同的物理服务器中(但相同的软war即apachetomcat)。

在我的代码中,我也使用了 jdbc 驱动程序(我在 pom.xml 中将其指定为依赖项),我是否需要担心所有这些 jar 都存在于物理上不同的服务器中我打算部署生成的 .war?

我不清楚这一点,任何帮助都会对消除这个基本疑问有很大帮助。

谢谢

如果您将 jar 指定为 Maven 依赖项,它们将位于 war 的 WEB-INF/lib 目录中(除非您将范围设置为提供)。

顺便说一下,使用此命令通过 maven 创建 war 文件更容易

mvn clean package

.war、.jar 和 .ear 文件实际上只是一个具有不同扩展名的 zip 文件。您可以通过 viewing/extracting 轻松检查文件的内容。