프런트 엔드에 표시 할 데이터의 엑셀 파일을 읽는 스프링 부팅 응용 프로그램을 만들었습니다. 기본적으로 영구 데이터 원본입니다. 내 일식에서 올바르게 실행할 수 있지만 스프링 부트 항아리를 만들고 명령 줄에서 실행하면 파일이 항아리에 포함되지 않으므로 실패합니다.스프링 부트 JAR에 외부 파일 포함
두 위치 src/main/resources 및/src/main/webapp/WEB-INF/external /를 시도했지만 두 경우 모두 파일은 포함되어 있지 않습니다.
코드 :
private static final String FILE1 = "\\src\\main\\webapp\\WEB-INF\\external\\file1.csv";
private static final String FILE2 = "\\src\\main\\webapp\\WEB-INF\\external\\file2.csv";
private static String currentDirectory = Paths.get(".").toAbsolutePath().toString();
private static String completeAbsolutePath = currentDirectory
.substring(0, currentDir.length() - 1)
.replace("\\", "\\\\");
reader = new CSVReader(new FileReader(completePath + FILE1))
오류 :
java.io.FileNotFoundException : C : \ 삭제는 \ SRC \ 주 \ 웹 애플리케이션의 \ WEB-INF \ 외부 \ File1.csv
누군가가 도와 줄 수 있습니까?
이 파일 – zuckermanori
https://stackoverflow.com/questions/22886083/how-do-i-run-a-spring-boot-executable-jar-in-a 참조 코드를 붙여 넣으세요 -production-environment –
안녕하세요 @ zuckermanori 코드는 다음과 같습니다. 두 파일의 데이터를 읽었습니다 (두 개의 개별 데이터베이스 테이블로 간주). private static final String FILE1 = "\\ src \\ main \\ webapp \\ WEB -INF \\ external \\ file1.csv "; 개인 정적 최종 문자열 FILE2 = "\\ src \\ main \\ webapp \\ WEB-INF \\ external \\ file2.csv"; private static String completeAbsolutePath = currentDir.substring (0, currentDir.length() - 1) .replace ("\\", "\\\\"); reader = new CSVReader (new FileReader (completePath + FILE1)) –