gpt4 book ai didi

classpath - 无法解析模板加载器路径 Freemarker

转载 作者:行者123 更新时间:2023-12-05 08:59:36 34 4
gpt4 key购买 nike

我在 Spring 中使用 freemarker。

这是我配置我的 freemarker 的方式:

<bean id="freemarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">     
<property name="templateLoaderPath" value="classpath:/META-INF/templates"/>
</bean>

这个配置实际上工作正常,我能够使用模板等生成我的报告

但是在 Weblogic 中,我总是得到这个异常:

15 Sep 2012 01:03:02,060 DEBUG DefaultListableBeanFactory.doCreateBean:504 - Eagerly caching bean 'freemarkerConfiguration' to allow for resolving potential circular references
15 Sep 2012 01:03:02,074 DEBUG DefaultListableBeanFactory.invokeInitMethods:1498 - Invoking afterPropertiesSet() on bean with name 'freemarkerConfiguration'
15 Sep 2012 01:03:02,228 DEBUG FreeMarkerConfigurationFactoryBean.getTemplateLoaderForPath:360 - Cannot resolve template loader path [classpath:/META-INF/templates] to [java.io.File]: using SpringTemplateLoader as fallback
java.io.FileNotFoundException: class path resource [META-INF/templates] cannot be resolved to absolute file path because it does not reside in the file system: zip:C:/Oracle/Middleware/user_projects/domains/gppuser/servers/GPPFilesBCSIS/tmp/_WL_user/GPPFilesBCSIS/phxni8/war/WEB-INF/lib/_wl_cls_gen.jar!/META-INF/templates
at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:204)
at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:52)
at org.springframework.ui.freemarker.FreeMarkerConfigurationFactory.getTemplateLoaderForPath(FreeMarkerConfigurationFactory.java:351)
at org.springframework.ui.freemarker.FreeMarkerConfigurationFactory.createConfiguration(FreeMarkerConfigurationFactory.java:304)
at org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean.afterPropertiesSet(FreeMarkerConfigurationFactoryBean.java:60)

这个错误实际上发生在加载过程中。任何人都知道如何解决和删除此异常?该文件实际上仍然是使用提供的模板生成的,所以我不太确定这个错误是什么。

供您引用:我没有使用分解部署。

最佳答案

这没什么好担心的。请注意,日志级别是 DEBUG,而不是 ERROR 或 WARNING。

当模板目录可以通过 java.io.File 访问时(因为它不在 jarwar 等中), Spring 会将 FreeMarker 配置为使用 java.io.File 直接加载模板,因为这样 FreeMarker 可以检查最后修改时间并自动重新加载模板。为了查明路径是否可以映射到普通目录,Spring 将调用 Resource.getFile() 并查看它是否抛出 IOException。如果是,Spring 将使用 DEBUG 级别进行日志记录,然后配置 FreeMarker 以通过 Spring 的 Resource 抽象加载模板(当然不使用 Resource.getFile)。所以这是您的情况下的正常程序流程。

关于classpath - 无法解析模板加载器路径 Freemarker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12429108/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com