Вместо того, чтобы писать все, о чем идет речь, я хотел бы разместить изображение. Проблема в том, где мне разместить каталог ресурсов, содержащий файлы .properties
?
См. Изображение для получения дополнительной информации и точной проблемы.
Вместо того, чтобы писать все, о чем идет речь, я хотел бы разместить изображение. Проблема в том, где мне разместить каталог ресурсов, содержащий файлы .properties
?
См. Изображение для получения дополнительной информации и точной проблемы.
Прежде всего, если вы используете Intellij IDEA и Gradle, попробуйте добавить это в свой build.gradle
:
apply plugin: 'idea'
idea {
module {
inheritOutputDirs = true
}
}
Более вероятное решение
По моему опыту, Java 9 заблокировала доступ к ресурсам на основе некоторых правил о том, инкапсулирован ли ресурс или нет (см. Документацию javadocs).
То, что у меня сработало:
Помещение ресурса в корень моей папки ресурсов и вызов
getClass().getClassLoader().getResource("myresource.txt")
Сделайте так, чтобы структура папок, ведущих к вашему ресурсу, соответствовала подходящему пакету в вашем проекте. Например, если у вас есть com.your.package, то структура вашей папки будет ресурсами / com / your / package / myresource.txt. После этого вы можете добавить opens com.your.package
в module-info.java и получить свой ресурс, позвонив
YourClass.class.getResource("/com/your/package/myresource.txt")
Что еще можно попробовать
Пометка папки ресурсов как ресурсов в Intellij IDEA.
Я столкнулся с аналогичной проблемой при чтении файлов свойств из модульной банки. Я поместил файлы свойств вне банки и указал расположение файлов свойств как путь к классам. Все работало нормально. Моя версия Java выглядит следующим образом: Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 9 + 181, смешанный режим)
Это известная ошибка в intellij. По неизвестной причине он отложен навсегда
https://youtrack.jetbrains.com/issue/IDEA-197469
/
из имени inputStream? Кстати, совместное использование воспроизводимого кода лучше, чем снимок экрана. - person Naman   schedule 08.02.2018/
- person Asif Mushtaq   schedule 08.02.2018