springboot 프로젝트 를 jar 패키지 로 만 든 후 static 에서 정적 자원 파일 을 가 져 올 수 없 는 문제 분석
1535 단어 springbootjar 가방정적 자원 파일
시작 은 절대 경 로 를 통 해 문 서 를 읽 는 것 입 니 다.로 컬 에 서 는 문제 가 없습니다.
그러나 프로젝트 를 jar 패키지 로 설정 하여 테스트 환경 에 배치 한 결과 어떻게 든 읽 을 수 없 음 을 발견 하고 로 컬 에서 jar 패 키 지 를 실행 하 는 데 동일 한 상황 이 발생 합 니 다.
캡 처 이상:java.io.FileNotFound Exception
[org.apache.ibatis.session.defaults.DefaultSqlSession@55b40849]
java.io.FileNotFoundException: class path resource [static/****.doc] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/**/***/target/****-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/static/****.doc
원인:
이 때 실행 중인 자바 프로그램 은 jar 패키지 의 파일 을 읽 고 있 습 니 다.아래 방식 을 직접 사용 하면 안 됩 니 다.
:
// src\main\resources\static\***.doc
String path = this.getClass().getClassLoader().getResource("").getPath()+"/static/***.doc";
File file = new File(path);
자바 에 서 는 jar 패키지 로 만 든 후 실행 후 이 jar 패키지 안의 파일 을 읽 고 쓰기 방법 을 바 꿔 야 합 니 다.
getResourceAsStream , jar
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("static/***.doc");
됐다.총결산
spring boot 프로젝트 를 jar 패키지 로 만 든 후 static 에서 정적 자원 파일 을 가 져 올 수 없 는 문제 분석 에 관 한 글 은 여기까지 입 니 다.더 많은 spring boot 를 jar 패키지 로 만 들 면 정적 자원 파일 내용 을 가 져 올 수 없습니다.이전 글 을 검색 하거나 다음 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin Springboot -- 파트 14 사용 사례 REST로 전환하여 POST로 JSON으로 전환前回 前回 前回 記事 の は は で で で で で で を 使っ 使っ 使っ て て て て て リクエスト を を 受け取り 、 reqeustbody で 、 その リクエスト の ボディ ボディ を を 受け取り 、 関数 内部 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.