Как получить реальный путь к Java-приложению во время выполнения? - PullRequest
36 голосов
/ 27 октября 2010

Я создаю приложение Java, где я использую log4j. Я дал абсолютный путь к файлу конфигурации log4j, а также абсолютный путь к сгенерированному файлу журнала (где генерируется этот файл журнала) Я могу получить абсолютный путь к веб-приложению Java во время выполнения через:

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

но что мы можем использовать в контексте обычного Java-приложения?

Ответы [ 13 ]

0 голосов
/ 28 июля 2018

Если вы хотите получить реальный путь к Java-приложению, такому как Spring (Servlet), вы можете получить его из объекта Context Servlet, который входит в ваш HttpServletRequest.

@GetMapping("/")
public String index(ModelMap m, HttpServletRequest request) {
    String realPath = request.getServletContext().getRealPath("/");
    System.out.println(realPath);
    return "index";
}
0 голосов
/ 27 октября 2010

Выражение

new File(".").getAbsolutePath();

вернет вам текущий рабочий каталог, связанный с выполнением JVM.Однако JVM предоставляет множество других полезных свойств через интерфейс

System.getProperty(propertyName); 

.Список этих свойств можно найти здесь .

Они позволят вам ссылаться на каталог текущих пользователей, временный каталог и т. Д. Независимо от платформы.

0 голосов
/ 27 октября 2010
new File(".").getAbsolutePath()
...