Java 从jar中的资源文件夹错误设置目录路径
我正在尝试为FreeMarker模板设置模板路径。我将模板文件存储在参考资料中的一个目录中,并使用ResourceUtils设置路径。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
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,这很有效。