0
我已經用Tree數據結構代替實際的數據庫構建了Spring啓動MVC應用程序。該程序從文本文件讀取並將單詞存儲在樹中。最初我使用了一個CommandLineRunner類來填充樹,它可以工作......但是在創建一個胖jar並運行該jar之後,我得到了一個沒有找到文件的異常。我怎樣才能用Maven構建一個包含maven文本文件的fat jar?Fat Jar throwing當試圖訪問jar中的文本文件時找不到文件異常
該文件當前處於項目根目錄中。
這裏是產生樹邏輯:
@Component
@Order(value = Ordered.HIGHEST_PRECEDENCE)
public class GenerateTree implements CommandLineRunner {
@Autowired
TreeRepository trie = new TreeRepository();
@Autowired
FileReader fileReader = new FileReader();
@Override
public void run(String... args) throws Exception {
for (String s : fileReader.readFile("wordList1.txt")){
trie.add(s);
}
}
}
這裏是讀取文件的邏輯:
@Component
public class FileReader {
List<String> readFile(String filename){
List<String> list = new ArrayList<>();
try (Stream<String> stream = Files.lines(Paths.get(filename))) {
list = stream
.filter(line -> line.matches("[a-zA-Z]+"))
.collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
}
你是如何試圖訪問該文件?你能分享涉及的代碼和拋出的異常嗎? –