gpt4 book ai didi

tomcat中的Java文件路径

转载 作者:行者123 更新时间:2023-11-28 22:55:32 24 4
gpt4 key购买 nike

我有一个在 tomcat 服务器上运行的 java 应用程序。应用程序需要将 xml 文件读/写到目录。

我对它进行了编程,以便使用常量从同一目录写入和读取文件

public static final String DICTIONARY_PATH = getRelativePath() + "/res/dictionaries/";

调用这个方法

public static String getRelativePath() {
return new File("").getAbsolutePath();
}

常量用在方法readFromFile(String language)writeToFile(Dictionary dictionary)

当从 IntelliJ 中运行的 main 方法调用这些方法时(出于测试目的),它工作得很好,可以读取文件并将文件写入指定的文件夹。

当在 tomcat 服务器上运行时从应用程序调用这些方法时,它找不到文件,因为它正在查找 tomcat 的 tomcat/bin 文件夹,而文件位于 tomcat/webapps/application/WEB-INF/classes/dictionaries

我如何实现方法 getRelativePath() 以便它既可以在 tomcat 服务器上工作,也可以在 IntelliJ 中本地工作(通过调用 main 方法)

最佳答案

您可以使用 Java 中的属性文件来指示 tomcat/webapps/application/WEB-INF/classes/dictionaries 的位置。这将帮助您将 tomcat 目录设置为“实际目标”。使用该属性,您始终可以使用相对路径,例如..\..\..\C:\myprojects\ 进入你的java项目进行测试。此外,将它们与 env 变量结合使用。请注意,您始终可以设置环境变量并使用 System.getenv(String name) 访问它们。

如果您不知道属性文件设置(非常基本的设置)- http://crunchify.com/java-properties-file-how-to-read-config-properties-values-in-java/

通过 prop 文件做事的好处是你的类是完整的。您只更改属性文件以指向任何值。如果可能,应避免在 OO 设计中对文件名和配置进行硬编码。

关于tomcat中的Java文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28109600/

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