Groovy: нет такого файла или каталога, когда я загружаю файлы ресурсов - PullRequest
0 голосов
/ 16 января 2019

получаю следующее Exception

Exception in thread "main" java.io.FileNotFoundException: file:/home/test/untitled2/tool/build/libs/tool-1.0.jar!/datasource/reportQuery.txt (No such file or directory)

Когда я пытаюсь запустить groovy jar, используя следующую команду

java -jar tool-1.0.jar

Код, который я использовал для чтения файла ресурсов

String loadDataSourceByName(String name) {
    ClassLoader classloader = Thread.currentThread().getContextClassLoader();
    def resource = classloader.getResource("datasource/${name}.txt")
    String fileContents = new File(resource.getFile()).getText('UTF-8')
    fileContents
}

структура проекта:

project structure

1 Ответ

0 голосов
/ 16 января 2019

classloader.getResource(..) возвращает URL

, поэтому просто примените getText("UTF-8") к URL:

String content = classloader.getResource("datasource/${name}.txt")?.getText("UTF-8")

или

String content = classloader.getResourceAsStream("datasource/${name}.txt")?.getText("UTF-8")
...