从 Spring 4.2.2 升级到 4.3.3 时出现 freemarkerConfiguration 问题

freemarkerConfiguration issue when upgraded from Spring 4.2.2 to 4.3.3

<bean id="freemarkerConfiguration"
    class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean"
    p:preferFileSystemAccess="false" p:templateLoaderPath="classpath:/" />

在 Spring 4.2.2 中工作,但是当我升级到 4.3.3 时在服务器启动时抛出异常。

Caused by: java.lang.NoSuchMethodError: freemarker.template.Configuration.(Lfreemarker/template/Version;)V

freemarker 版本:2.3.20

java版本:1.8.0_60

你试过经典实现了吗:

<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
   <property name="templateLoaderPath"><value>/WEB-INF/freemarker/</value></property>
</bean>

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

Configuration(Version) 是在 FreeMarker 2.3.21 中添加的。无论如何使用最新版本(2.3.25 ATM)是有益的。