Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从jar中的资源文件夹错误设置目录路径_Java_Spring Boot_Io_Freemarker - Fatal编程技术网

Java 从jar中的资源文件夹错误设置目录路径

Java 从jar中的资源文件夹错误设置目录路径,java,spring-boot,io,freemarker,Java,Spring Boot,Io,Freemarker,我正在尝试为FreeMarker模板设置模板路径。我将模板文件存储在参考资料中的一个目录中,并使用ResourceUtils设置路径。 freemarkerConfig.setDirectoryForTemplateLoading(ResourceUtils.getFile(“classpath:templates”) 当我在本地部署应用程序时,它运行得非常好。但是,当应用程序jar部署在docker容器中时,它会失败,因为它无法找到路径jar:file:/app.jar/模板。我知道当从jar

我正在尝试为FreeMarker模板设置模板路径。我将模板文件存储在参考资料中的一个目录中,并使用ResourceUtils设置路径。
freemarkerConfig.setDirectoryForTemplateLoading(ResourceUtils.getFile(“classpath:templates”)


当我在本地部署应用程序时,它运行得非常好。但是,当应用程序jar部署在docker容器中时,它会失败,因为它无法找到路径
jar:file:/app.jar/模板
。我知道当从jar访问文件时,我应该使用ClassPathResure中的InputStream。但是如何从jar设置目录位置?

可能是您可以尝试setClassForTemplateLoading(java.lang.Class resourceLoaderClass,java.lang.String basePackagePath)?谢谢@alexq的评论。请您详细解释如何配置resourceLoaderClass好吗?请尝试将getClass()作为resourceLoaderClass,将“/templates”作为basePackagePath。谢谢@alexq,这很有效。