Spring迁移到5.0.0替换不推荐使用的WebMvcConfigurerAdapter是错误的

尼古拉斯:

我将Spring Framework更新4.3.9.RELEASE5.0.0.RELEASE,令我惊讶的是,自5.0版本以来,类WebMvcConfigurerAdapter已被标记为已弃用。如文档所述:

不推荐使用。

从5.0版开始,WebMvcConfigurer具有默认方法(由Java 8基准实现),可以直接实现而无需此适配器

我试图更改类定义以实现WebMvcConfigurer

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "net.nichar.app")
public class WebConfiguration extends WebMvcConfigurerAdapter {

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

    @Override
    public void addResourceHandlers(final ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH");
    }
}

我使用Maven导入了以下相同版本的工件:

  • 弹簧芯
  • 弹簧网
  • 春天webmvc
  • 春虫

尽管我遵循了Spring doumention,但我必须做错什么,因为一旦尝试运行该应用程序,就会引发错误:

2017-10-11 22:42:03 [localhost-startStop-1]上下文初始化期间遇到警告异常-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建在组织中定义的名称为'requestMappingHandlerAdapter'的bean时出错。 springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration:通过工厂方法实例化Bean失败;嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:工厂方法'requestMappingHandlerAdapter'引发了异常;嵌套的异常是java.lang.NoClassDefFoundError:com / fasterxml / jackson / databind / exc / InvalidDefinitionException

2017年10月11日10:42:03 ODP。org.apache.catalina.core.StandardContext listenerStart严重:向上下文org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException的上下文实例发送上下文初始化事件的异常:创建名称为“ requestMappingHandlerAdapter”的bean时出错在org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration中:通过工厂方法实例化Bean失败;嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:工厂方法'requestMappingHandlerAdapter'引发了异常;嵌套的异常是java.lang.NoClassDefFoundError:com / fasterxml / jackson / databind / exc / InvalidDefinitionException在......

您能帮我解决吗?随时要求更多详细信息。

布莱恩·克洛泽(Brian Clozel):

此问题与无关WebMvcConfigurer(您应该从问题中删除该部分,因为它会误导他人)。

唯一的例外是Jackson,您很可能没有使用正确的Jackson版本:

java.lang.NoClassDefFoundError: 
com/fasterxml/jackson/databind/exc/InvalidDefinitionException

如迁移文档所述, Spring Framework 5需要Jackson 2.9+

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将 AWS Cognito 用户迁移到 Auth0

从sonarqube 5.0.1迁移到5.1.2后索引了0个文件

迁移到iOS 9后,“无效上下文0x0”

从JDK 1.5.0_06迁移到1.8.0_66-替换不推荐使用的Java JPEG类

Outlook 2019 在迁移到 Microsoft 365 后显示错误 0xCAA80000

使用 angular5 迁移到材料设计

将AngularJS迁移到Angular 4,5(使用DEMO)

从Material UI v0.x迁移到v1.y的步骤

如何将Serverless 0.X中的“项目”迁移到Serverless 1.0?

将社交帐户从 Auth0 迁移到 Azure B2C

将2磁盘raid0安装迁移到单个驱动器

Auth0 从锁定小部件迁移到 auth0-js:如何自定义外观

导入项目并迁移到Gradle:错误:(1,0)找不到ID为'com.android.application'的插件

将InkStroke的BoundingRect移到0; 0

使用 Auth0 时,我无法在将 Angular2 样本迁移到 Angular4 后使用它

Spring ldap 2.0.1替换不推荐使用的OdmManager

将 oracle 迁移到 postgresql 用于编码“UTF8”的无效字节序列:0x00

从ASP.NET Core 1.1迁移到2.0。出现“无法初始化CoreCLR,HRESULT:0x80004005”失败

从Spring 3.0迁移到Spring 3.1时org.springframework.web.servlet.DispatcherServlet错误

Spring Boot - 使用 JDBC 身份验证迁移到 SSL 时凭据错误

Angular 5中的RequestOptions不推荐使用的符号错误

错误:ActionView::MissingTemplate(迁移到 rails 5 后缺少模板应用程序/索引

从Junit4迁移到Junit5时,没有Runnable方法错误:

由于System.Runtime错误,无法将Blazor App迁移到.Net 5

无法迁移到Angular 5,在Angular文件上获得无效错误

迁移到Spring Boot 1.5.1和OAuth2 + JWT令牌-未经授权的错误401

从derby迁移到mysql base时,spring-boot应用程序中出现配置错误?

将Spring Boot从1.5.12迁移到1.5.13后,ehcache提供错误

从Spring Boot Oauth2迁移到Spring Security 5