【发布时间】:2017-05-11 04:01:36
【问题描述】:
我正在开发一个spring-boot web app,我需要获取一些classpath资源,所以我使用下面的方法:
@Autowired
private Enviroment env;
String fileLocation = ResourceUtils.getFile(env.getProperty("common.cert-location")).getAbsolutePath();
或
String fileLocation = new DefaultResourceLoader().getResource("filename").getFile().getPath();
它们都在本地环境中正常运行,但是当我打包应用程序并在 Docker 映像中运行它时,它会抛出异常。我怎样才能获得资源?谢谢!
【问题讨论】:
-
将卷附加到容器,但给出相对于 docker 容器的路径。
-
@SJayesh 谢谢,我是 docker 的菜鸟,我用 'docker-maven-plugin' 运行我的应用程序,我的 Dockerfile 中的卷只是 '/tmp',那么相对的是什么'src/main/resources' 的路径应该是?
-
我从未使用过 'docker-maven-plugin',但你能分享一下异常堆栈吗?
-
@SJayesh 谢谢,我已经通过使用“BaseController.class.getClassLoader().getResourceAsStream()”解决了这个问题
标签: java spring docker spring-boot classpath