求各位同僚看看我这个拦截器为什么以Java -jar的方式运行会出错呢。
1. 拦截器主要配置了跨域和验证token的功能;
csdn链接:https://blog.csdn.net/qq_17213067/article/details/88789664

解决方案 »

  1.   

    extends WebMvcConfigurationSupport 偶尔加载成功 
    implements WebMvcConfigurer 直接不会运行。我在addInterceptors打印了日志,然后他直接不输出那句话
      

  2.   


    不是,直接不会执行addInterceptors这个方法。我在里面打印了日志,没有看到输出。
      

  3.   

    spring 的版本是多少    
      

  4.   

    2.1.3.RELEASE。 main方法直接线下测试,加了@EnableWebMvc会全部调用,但是Jar包一样。不打印。
      

  5.   

    2.1.3.RELEASE。 main方法直接线下测试,加了@EnableWebMvc会全部调用,但是Jar包一样。不打印。你打包之前clean 一下  
      

  6.   

    2.1.3.RELEASE。 main方法直接线下测试,加了@EnableWebMvc会全部调用,但是Jar包一样。不打印。你打包之前clean 一下  
    一直都是先clean,再package
      

  7.   

    本地和jar实际运行的环境JDK版本一致吗
      

  8.   

    一致。我线下运行,与打Jar包运行的环境一样,但是结果不一样。网上说implements WebMvcConfigurer 这种好点,但是加了@Configuration一点用都没有。
      

  9.   

    一致。我线下运行,与打Jar包运行的环境一样,但是结果不一样。网上说implements WebMvcConfigurer 这种好点,但是加了@Configuration一点用都没有。这特么什么傻逼东西,
      

  10.   

    一致。我线下运行,与打Jar包运行的环境一样,但是结果不一样。网上说implements WebMvcConfigurer 这种好点,但是加了@Configuration一点用都没有。这特么什么傻逼东西,  ProcureInterceptor getProcureInterceptor() {
        return new ProcureInterceptor();
      }实在是想不到什么原因了  你这么改一下
      ProcureInterceptor procureInterceptor() {
        return new ProcureInterceptor();
      }
      

  11.   


    一致。我线下运行,与打Jar包运行的环境一样,但是结果不一样。网上说implements WebMvcConfigurer 这种好点,但是加了@Configuration一点用都没有。这特么什么傻逼东西,  ProcureInterceptor getProcureInterceptor() {
        return new ProcureInterceptor();
      }实在是想不到什么原因了  你这么改一下
      ProcureInterceptor procureInterceptor() {
        return new ProcureInterceptor();
      }
    这两个代码,不是一样的吗。
      

  12.   

    一致。我线下运行,与打Jar包运行的环境一样,但是结果不一样。网上说implements WebMvcConfigurer 这种好点,但是加了@Configuration一点用都没有。这特么什么傻逼东西,  ProcureInterceptor getProcureInterceptor() {
        return new ProcureInterceptor();
      }实在是想不到什么原因了  你这么改一下
      ProcureInterceptor procureInterceptor() {
        return new ProcureInterceptor();
      }
    这两个代码,不是一样的吗。注入bean  一般不加get
      

  13.   


    @Bean  //bean的目的是将ProcureInterceptor 对象交给spring管理  包括WebAppConfig 都是交给spring管理
      ProcureInterceptor getProcureInterceptor() {
        return new ProcureInterceptor();
      }
     
      @Override
      public void addInterceptors(InterceptorRegistry registry) {
        log.info("WebAppConfig拦截器注入成功:*************************************************************");
        log.info("getProcureInterceptor:{}", getProcureInterceptor());  //多次调用getProcureInterceptor  每次都是new 一个ProcureInterceptor
        registry.addInterceptor(getProcureInterceptor()).addPathPatterns("/**");
      

  14.   

    解决了,是因为swagger的配置不统一造成。public class WebAppConfig extends WebMvcConfigurationSupport {都改为implements WebMvcConfigurer,实现接口即可。这是个巨坑,如果是关于配置的类,有WebMvcConfigurationSupport或WebMvcConfigurer,必须统一为implements WebMvcConfigurer
      

  15.   


    不是,直接不会执行addInterceptors这个方法。我在里面打印了日志,没有看到输出。
    请教一下,大神,我发不了贴,作为一个新人,我想知道什么前面可以不用加public修饰,abstract又在什么时候加?今天遇到一个父类,里面只有属性,基本的get/set方法,构造,没有抽象方法,为什么类名他加了abstract,而且没有加public
      

  16.   


    不是,直接不会执行addInterceptors这个方法。我在里面打印了日志,没有看到输出。
    请教一下,大神,我发不了贴,作为一个新人,我想知道什么前面可以不用加public修饰,abstract又在什么时候加?今天遇到一个父类,里面只有属性,基本的get/set方法,构造,没有抽象方法,为什么类名他加了abstract,而且没有加public既然不知道那就好好学习啊,百度找资料。