我正在使用OpenCSV方法“ CsvToBeanBuilder”读取要从src / main / resources中的csv文件加载的数据。
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时,它是从resources文件夹中拾取文件,但将其放置在JAR本身的根目录中。因此,当我执行jar时,出现文件未找到错误。这里首选的解决方案是什么?
仅供参考-我的build.gradle文件包含此代码...
jar {
manifest {
attributes 'Main-Class': 'DataLoad.DataLoad'
}
from configurations.runtime.collect { zipTree(it) }
}