私はSpringブートアプリケーションを持っています。それは、このファイルを含んでいます文字列リソースファイルを取得するブート
resources/metrics/telefonica/Metrics.xlsx
を、コードで:私も同じ結果
IでResource telefonicaMetricsTemplate = new ClassPathResource("/metrics/telefonica/Metrics.xlsx");
を試してみました
Caused by: java.io.FileNotFoundException: class path resource [metrics/telefonica/Metrics.xlsx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/Users/lopes/Documents/workspace-sts-3.9.0.RELEASE/telefonicaUtils/target/telefonicaUtils-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/metrics/telefonica/Metrics.xlsx
at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:217)
:
@Value(value = "classpath:/metrics/telefonica/Metrics.xlsx")
private Resource telefonicaMetricsTemplate;
..
Workbook wb =
WorkbookFactory.create
(telefonicaMetricsTemplate.getInputStream());
しかし、私はこのエラーを得ましたアプリを実行しています。コマンドラインから次のように入力します。
java -jar target/telefonicaUtils-0.0.1-SNAPSHOT.jar
私はこのアプリケーションを実行しています。 Eclipseからそれは正常に動作します
をヨーヨーは*クラスパスを試してみましたか? – PKR
'' classpath:/metrics/telefonica/Metrics.xlsx "'を指定すると、ファイルシステムのルートをチェックすると思います。最初にスラッシュを削除してみてください。リソースフォルダはIDEによって '.'(少なくともintelliJのやり方であると見なされるため)と考えられますので、' classpath:metrics/telefonica/Metrics.xlsx ''やmetrics/telefonica/Metrics.xlsx "または" file:metrics/telefonica/Metrics.xlsx "または" file:./metrics/telefonica/Metrics.xlsx " – Blake