【发布时间】:2018-05-03 04:29:17
【问题描述】:
我正在使用 Tomcat 开发应用程序。我通过复制一个war文件并重新启动tomcat服务进行部署。但是,我有一个装满图像和其他辅助数据的大文件夹。我的问题是:是否有替代方法可以将所有数据包含在 war 文件中以进行部署?具体来说: 1)在部署war文件期间,app文件夹中的文件夹是否可以被“保护”,这样它们就不会被删除? 2) 将修改后的类和 jsp 文件分段上传到 app 文件夹而不是每次都重新部署整个 .war 文件是不好的做法吗?如果这是不好的做法,为什么?
【问题讨论】:
-
有一些标准方法可以存储不属于部署的应用程序数据。您可以通过编写代码来做到这一点,以便它使用系统属性(即配置变量)来告诉它应用程序数据将存储在应用程序本身之外的位置。
-
保留文件夹是不可能的,任何黑客都是不好的做法。正如吉姆所提到的,您可以考虑在项目本身之外存储东西。或者,您可以考虑将您的应用程序拆分为多个 war 文件。将所有大图像等放在不同的项目中。但它仍然可以作为一场战争进行管理和部署。
-
我的理由是:我正在开发一个应用程序(我希望有一天)会有很多用户。如果我存储在文档根目录之外,那么我需要使用 Servlet 来访问文件系统,这意味着产生一个新的 java 线程,我认为如果我想最大限度地提高效率,我不应该这样做。如果我将文件存储在文档根目录中,则可以通过 Web 服务器(在我的情况下为 nginx)将文件直接发送到客户端,我认为这会更有效。如果我的逻辑有问题,请告诉我。
标签: java tomcat deployment