【发布时间】:2015-01-23 12:08:29
【问题描述】:
我有一个在 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 intellij-idea relative-path