Макрос для каталога файла в Intelij

#java #intellij-idea #coding-style

Вопрос:

я пытаюсь изменить рабочий каталог на каталог файла вместо каталога модулей в IntelliJ. то есть, если у меня есть(модуль)->B>>C>>>temp.java, когда я пытаюсь запустить temp.java файл, рабочий каталог должен измениться на A/B/C. в Intelij хранится макрос, аналогичный $ProjectFileDir$/ $Module_Dir$.

введите описание изображения здесь

Спасибо

Ответ №1:

Имя файла недоступно в контексте конфигурации запуска. Вы запускаете класс из пути к классу, а не исходный файл .java из исходного каталога, поэтому в конфигурации запуска невозможно указать каталог файла .java, он просто не знает, какой файл .java вы запускаете (поскольку вы фактически запускаете скомпилированный класс).

Комментарии:

1. есть ли обходной путь или хак для того же самого?

2. Почему вам нужно установить рабочий каталог в расположение исходного файла .java? Если ваш код считывает файл из файловой системы, измените его на чтение файла из пути к классу и поместите его в каталог ресурсов, таким образом, вам не нужно будет указывать рабочий каталог или абсолютный путь к файлу, и ваш код будет более переносимым.