【发布时间】:2016-08-14 03:36:15
【问题描述】:
我有一个 Spring Boot 项目,其中有一个资源文件,可以使用以下方式访问:
final ClassLoader classLoader = getClass().getClassLoader();
final File file = new File(classLoader.getResource("congress.json").getFile());
当我在本地运行 spring boot 时,它发现文件一切正常,但是当我在 Heroku 上部署项目时,我看到一个错误:
2016-08-13T13:56:31.400796+00:00 app[web.1]: java.io.FileNotFoundException: file:/app/target/nytimes-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/congress.json (No such file or directory)
使用 heroku run bash 访问 Heroku dyno 我可以看到文件:
~ $ ls
mvnw mvnw.cmd pom.xml src target
~ $ cd target/
~/target $ ls
classes generated-sources generated-test-sources maven-archiver maven-status mvn-dependency-list.log nytimes-0.0.1-SNAPSHOT.jar nytimes-0.0.1-SNAPSHOT.jar.original test-classes
~/target $ cd classes/
~/target/classes $ ls
application.properties com congress.json senate.json
为什么找不到文件?我该如何解决?
【问题讨论】:
标签: spring heroku spring-boot