如何在运行时获取 Java 应用程序的真实路径?

2022-09-01 00:47:03

我正在创建一个Java应用程序,我正在使用log4j。我已经给出了配置log4j文件的绝对路径以及生成的日志文件(生成此日志文件的位置)的绝对路径。我可以通过以下方式在运行时获得Java Web应用程序的绝对路径:

String prefix =  getServletContext().getRealPath("/");

但是在普通的Java应用程序的上下文中,我们可以使用什么?


答案 1

尝试;

String path = new File(".").getCanonicalPath();

答案 2

不清楚你要求什么。我不知道“关于我们正在使用的Web应用程序”是什么意思,如果不是答案,但是:getServletContext().getRealPath()

  • 当前用户的当前工作目录由下式给出System.getProperty("user.dir")
  • 当前用户的主目录由下式给出System.getProperty("user.home")
  • 从中加载当前类的 JAR 文件的位置由 给出。this.getClass().getProtectionDomain().getCodeSource().getLocation()