Я использую метод OpenCSV CsvToBeanBuilder для чтения данных для загрузки из файлов csv в src / main / resources.
private static FileReader readDataFromCSV(String filename) throws IOException {
return new FileReader("src/main/resources/"+filename);
}
private static void loadJobFunctions() throws IOException {
List<JobFunctions> jobFunctions = new CsvToBeanBuilder(readDataFromCSV("JobFunctionNames.csv"))
.withType(JobFunctions.class).build().parse();
.....
}
Чтобы OpenCSV мог выбирать файлы при запуске моего основного метода из моей IDE, мне нужно указать путь относительно корня проекта.
("src/main/resources/"+filename)
Когда я использую Gradle для сборки своего jar-файла, он берет файлы из папки ресурсов, но помещает их в корень самого JAR-файла. Поэтому, когда я выполняю флягу, я получаю ошибку "файл не найден". Что было бы предпочтительным решением здесь?
К вашему сведению - мой файл build.gradle содержит этот код ...
jar {
manifest {
attributes 'Main-Class': 'DataLoad.DataLoad'
}
from configurations.runtime.collect { zipTree(it) }
}