У меня есть проект gradle, который отлично работает в затмении. В коде Java у меня есть
Properties p = MyClass.class.getClassLoader.getResourceAsStream("myProps.properties");
File f = new File(p.getProperty("myFile"));
Моя структура:
src/main/java - has java files
src/main/resources - has myProps.properties and myFile.txt
myProps.properties имеет:
myFile=src/main/resources/myFile.txt
Если я выполняю сборку gradle (используя задание по умолчанию shadowJar), мои ресурсы теперь перемещаются из src / main / resources в корень файла jar.
shadowJar {
manifest{
// The only thing I modify is the attributes
}
}
Когда я выполняю банку, запустив
"java -jar myJar.jar" Я получаю исключение FileNotFound, ссылающееся на файл ресурса myFile.txt.
Как правильно решить эту проблему, чтобы код работал как в среде Eclipse, так и в исполняемом jar-файле?