gpt4 book ai didi

java - 动态获取 Apache Tomcat 服务器路径和端口

转载 作者:行者123 更新时间:2023-11-28 22:08:27 25 4
gpt4 key购买 nike

我在 Eclipse 中开发了一个 API,部署在 Apache Tomcat 服务器 上,它修改保存在中的 XML 文件服务器的 ROOT 文件夹。

Apache Tomcat 安装在我系统的 D 盘中,因此我在 API 中硬编码了该路径,如下所示

new File("D:\\Program Files\\Apache Software Foundation\\Tomcat 7.0\\webapps\\ROOT\\example\\example.xml")

此外,我已将服务器配置为使用端口 8080,因此我还在 API 中像这样对 URI 路径进行了硬编码

String uriPath = "http://localhost:8080/example/example2";

而且效果很好。

但现在我想在具有 Apache Tomcat 的不同 系统上以 WAR 文件的形式部署相同的 API。

如何以编程方式获取这些系统的 Apache Tomcat ROOT 文件夹路径端口号,以便一个 API 适用于所有系统?如何将其集成到 API 中?

最佳答案

JEE 规范中有许多原因说明了您不应该这样做的原因,但除此之外,您可以获得一种与平台无关的方法来确定 tomcat 的位置。

系统在启动时定义了两个变量,CATALINA_HOME 和 CATALINA_BASE。您应该能够使用 System.getProperty("catalina.base") 从系统中获取 CATALINA_BASE

从那里你可以假设建立这样的路径:

final String catalinaBase= System.getProperty("catalina.base");
final File catalinaBaseDir= new File(catalinaBase);
final File exampleXML= new File(catalinaBase, "webapps/root/example/example.xml");

至于URI路径,this article应该为你提供足够的引用来做你想做的事。

关于java - 动态获取 Apache Tomcat 服务器路径和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23151374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com