java.lang.ClassNotFoundException:freemarker.template.TemplateHashModelEx

时间:2015-05-04 16:25:54

标签: spring web freemarker

我的应用程序是一个servlet,spring 4应用程序,其中spring jar位于tomcat lib中。 Freemarker jar在WEB-INF / lib。

启动服务器时出现此错误 java.lang.ClassNotFoundException:freemarker.template.TemplateHashModelEx

当我将freemarker jar移动到tomcat lib目录时,此错误消失。

在我看来,包含Configurer类的spring 4 webmvc jar无法看到WEB-INF / lib freemarker jar。我不明白为什么在tomcat lib文件夹中的spring jar中看不到WEB-INF / lib文件夹中的freemarker jar。

我该怎么做才能解决这种情况。 我的弹簧配置如下

<bean id="freemarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
<!--Turn this off to always load via SpringTemplateLoader-->
    <property name="preferFileSystemAccess" value="false"></property>
    <property name="templateLoaderPath" value="classpath:/"></property>
</bean> 

<bean id="freemarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="configuration" ref="freemarkerConfiguration" />
</bean>

1 个答案:

答案 0 :(得分:0)

之前我遇到过类似的问题,我已经解决了。 环境:想法,Maven

  1. 打开文件 - &gt;项目结构 - &gt;工件
  2. 右键单击“可用元素”中的项目库,放入输出根目录(WEB-INF / lib)。
  3. 重启tomcat,你会发现问题已经解决了。