带Freemarker的ClassNotFoundException

use*_*660 2 java freemarker spring-mvc

对不起我的noobie问题,但我无法弄清楚.

我有一个运行在GAE上的应用程序,使用Spring MVC,我正在尝试添加Free Marker作为模板语言.

在我的pom.xml中,我有:

<dependency>
 <groupId>org.freemarker</groupId>
 <artifactId>freemarker</artifactId>
 <version>2.3.20</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

另外,在我的调度程序配置中,我已经配置了这样的freemarker视图解析器:

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

<!-- View resolvers can also be configured with ResourceBundles or XML files. 
    If you need different view resolving based on Locale, you have to use the 
    resource bundle resolver. -->
<bean id="viewResolver"
      class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="cache" value="true" />
    <property name="prefix" value="" />
    <property name="suffix" value=".ftl" />
</bean>
Run Code Online (Sandbox Code Playgroud)

当我使用Eclipse启动Web服务器时,我得到一个classnotfound异常(见下文),但我无法弄清楚缺少什么以及如何添加它=(

你能帮帮我吗?

谢谢!

2013-11-07 17:30:17.097:WARN::Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Invocation of init method failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer] for bean with name 'freemarkerConfig' defined in ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]: problem with class file or dependent class; nested exception is 
java.lang.NoClassDefFoundError: org/springframework/ui/freemarker/FreeMarkerConfigurationFactory|Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer] for bean with name 'freemarkerConfig' defined in ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/ui/freemarker/FreeMarkerConfigurationFactory:
java.lang.ClassNotFoundException: org.springframework.ui.freemarker.FreeMarkerConfigurationFactory
Run Code Online (Sandbox Code Playgroud)

use*_*339 8

您必须将其添加spring-context-support到项目中.将其添加到您的pom.xml:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>3.2.4.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)