実際のデータベースの代わりにTreeデータ構造を持つSpringブートMVCアプリケーションを構築しました。プログラムはテキストファイルから読み込み、単語をツリーに格納します。もともと私はCommandLineRunnerクラスを使ってツリーを生成していましたが、これはうまくいきましたが、fat 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;
}
}
がどのようにファイルにアクセスしようとしていますか?あなたは関連するコードとスローされている例外を共有できますか? –