Tomcat 基于jar的无战争部署

Tomcat 基于jar的无战争部署,tomcat,web-applications,jar,war,web-application-design,Tomcat,Web Applications,Jar,War,Web Application Design,这次我有一个理论问题。 今天,一位在一家相当大的公司工作的软件开发人员告诉我,他们在应用程序部署中不使用war文件。他们的软件架构师认为,战争文件是邪恶的,因为部署非战争类在操作组员工玩服务器时可能造成的损害方面不够安全。 据我所知,他们的解决方案是将应用程序打包到jar中,并将其添加到空的webapp样式树的WEB-INF/lib文件夹中。它们还用于编辑server.xml,将应用程序的上下文/文档库添加到其中,以便在它们使用的路径上启用它。 我真的被这个解释弄糊涂了,我以前从未见过这样的事情

这次我有一个理论问题。 今天,一位在一家相当大的公司工作的软件开发人员告诉我,他们在应用程序部署中不使用war文件。他们的软件架构师认为,战争文件是邪恶的,因为部署非战争类在操作组员工玩服务器时可能造成的损害方面不够安全。 据我所知,他们的解决方案是将应用程序打包到jar中,并将其添加到空的webapp样式树的WEB-INF/lib文件夹中。它们还用于编辑server.xml,将应用程序的上下文/文档库添加到其中,以便在它们使用的路径上启用它。 我真的被这个解释弄糊涂了,我以前从未见过这样的事情。就我个人而言,我认为整个“操作人员问题”听起来像是一个偏执狂,但我仍然很难决定这种解决方案的利弊。 你怎么认为? 奇异还是辉煌


谢谢。

事实上,这听起来像是扩展WAR的一种替代方案,因此需要维护许多文件——在您无法直接控制并且可能与其他应用程序共享的环境中,这可能是一个缺点。在这种情况下,您可能希望您的应用程序具有较小的文件系统占用空间,并且一个JAR(加上appserver中可能很少的配置条目)可能工作得更好

扩展战争更容易受到各种文件系统操作的影响,“操作人员”可能会意外地对您的文件执行这些操作。例如,考虑一个unix单行程序,
find
rm
的组合,它递归地搜索具有特定名称的文件并将其删除,但无意中在错误的目录上运行。轰-您的一些类文件突然丢失,您需要在生产环境中解决一个谜。特别是在共享环境中,类似的事情可能会发生


所以我对这样的设计有一个理解——这可能是对他们来说最好的。可能不太精彩,但绝对不奇怪。

事实上,这听起来像是一种替代方案,可以避免扩展WAR,因此需要维护许多文件,这在您无法直接控制的环境中可能是一个不利因素,并且可能与其他应用程序共享。在这种情况下,您可能希望您的应用程序具有较小的文件系统占用空间,并且一个JAR(加上appserver中可能很少的配置条目)可能工作得更好

扩展战争更容易受到各种文件系统操作的影响,“操作人员”可能会意外地对您的文件执行这些操作。例如,考虑一个unix单行程序,
find
rm
的组合,它递归地搜索具有特定名称的文件并将其删除,但无意中在错误的目录上运行。轰-您的一些类文件突然丢失,您需要在生产环境中解决一个谜。特别是在共享环境中,类似的事情可能会发生

所以我对这样的设计有一个理解——这可能是对他们来说最好的。也许不太聪明,但绝对不奇怪