首页 > 解决方案 > 如何修复 NoSuchMethodError: 'void freemarker.template.Configuration.(freemarker.template.Version) 当我不能排除旧版本时?

问题描述

我正在运行 Alfresco 7 Enterprise,并且正在尝试运行一些自定义控制器。在我的上下文中,我有这个:

@Bean
public FreeMarkerViewResolver freemarkerViewResolver() {
    FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
    resolver.setCache(true);
    resolver.setPrefix("");
    resolver.setSuffix(".ftlh");
    return resolver;
}

@Bean
public FreeMarkerConfigurer freemarkerConfig() {
    FreeMarkerConfigurer freeMarkerConfigurer = new FreeMarkerConfigurer();
    freeMarkerConfigurer.setTemplateLoaderPath("/WEB-INF/templates/");
    return freeMarkerConfigurer;
}

在启动时我得到:

NoSuchMethodError: 'void freemarker.template.Configuration.<init>(freemarker.template.Version)'

使用 Eclipse 和依赖层次结构,我使用的是 2.3.20。我知道 freemarker 在 2.3.21 版本的构造函数中添加了 Version

因此,起初我尝试升级 freemarker 版本,但是当我尝试从 eclipse 中排除 2.3.20 时,我得到:“无法找到依赖源”,我无法解释。

所以我可以看到 2 个选项:

1:找到一个工具,可以找到那个依赖的来源... 2:以2.3.20的方式创建一个视图解析器。IE 如何在使用 2.3.20 的上下文类中创建 ViewResolver

有没有人有什么建议?

标签: javaspring-mvcalfrescoalfresco-enterprisealfresco-maven

解决方案


推荐阅读