[英]How to get proper Tomcat webapps path in all environments?
因此,有这个 API 在tomcat/webapps/rules中创建新文件夹,并从主规则文件夹复制规则文件。 如果我正在创建一个文件夹abc ,它会将规则从tomcat/webapps/rules/masterRule 复制到tomcat/webapps/rules/abc
现在,这就是我们在 java 代码中用来获取路径的方法
Path path = Paths.get(System.getProperty("catalina.base") + File.separator + "webapps" + File.separator+ "rules" + File.separator + dc_name);
现在这在开发和测试环境中运行良好。 但在产品上失败了。 因为路径是/usr/local/tomcat但它是空的。 我们可以选择从 UI 上传规则,当我们这样做时,它会在 EFS /efs-files/tomcat/webapp/rules中创建文件夹
简而言之,
如何编写 Java 代码以确保它在所有环境中都处于正确的路径中?
当您尝试写入 Web 应用程序自己的目录时,您走错了路。 有几个原因:
所以:所有环境中的正确路径是明确配置为可写、备份且不包含潜在可执行恶意软件(想想有人上传 JSP 文件)的路径。 该路径位于 Tomcat 的webapps
目录之外。 事实上,它通常与 Tomcat 的安装位置无关——或者它是temp
目录,以防您不关心备份这些文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.