내가 클래스 패스에 자원으로 사용할 수있게 한 파일에서 읽으려고 해요를 찾을 수 없습니다 전체 경로를 통해 리소스에 절대적으로 액세스하고 스트림 및 작업 표시로 액세스합니다.는 JAR의 클래스 패스 자원</p> <pre><code>FileInputStream serviceAccount = new FileInputStream("firebase-service-account.json"); </code></pre> <p>내가 해봤 (해당 파일 또는 디렉터리)
를 그리고 나는 그들이 스트리밍되는 있다면 확실하지 않다하더라도, 나는 자원이 제대로 번들로 제공되는 것을 볼 수있는 JAR을 열 균열 때
내 목표 파일 구조는 다음과 같습니다.
가 어떻게 내 리소스에 액세스 할 수 있습니까?
Exception in thread "main" java.io.FileNotFoundException: [email protected] (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at com.lumos.xlsx_manager.es.da.Firebase.main(Firebase.java:146)
당신은 FileInputStream에이 결과 자원이 JAR 파일 내부에 원인이 사용할 수 없습니다. 당신은'this.getClass(). getResourcesAsStream (".../File.properties")'..'를 사용해야합니다. – khmarbaise
이것은 효과가 있었는데, 이유를 설명해 주시겠습니까? – Simmeringc
'src/main/resources' 위치는 최종 jar 파일에 패키지됩니다. 즉, File ...을 통해 액세스 할 수 없다는 것을 의미합니다. 따라서'class.getResourcesAsStream()'을 사용해야합니다. 클래스 패스뿐만 아니라 병 안에 .... – khmarbaise