Загрузка ресурса из подпапки, которая находится в classpath - PullRequest
0 голосов
/ 03 июля 2018

Структура файла:

\a    
    programme.class
    programme.java
    \b
        text.txt

Имея мой текущий каталог в \ a (что также означает, что путь к классу по умолчанию также установлен в \ a) и имея это для моего кода (для целей тестирования):

System.out.println(programme.class.getClassLoader().getResource("b/text.txt"));

Запуск моей программы из папки \ a не требует от меня указания classpath для b. Следовательно, я могу запустить свою программу просто так: java program

Теперь я подумал, что добавление каталога в classpath (в нашем случае по умолчанию classpath - user.dir aka \ a) не разрешает подкаталоги (не добавляет их рекурсивно в classpath).

Как загрузчик классов находит файл b \ text.txt в classpath?

...