• Exception in thread "main" java.lang.AbstractMethodError: org.springframework.boot.context.config


    Exception in thread “main” java.lang.AbstractMethodError: org.springframework.boot.context.config.ConfigFileApplicationListener.supportsSourceType(Ljava/lang/Class;)Z
    今天想学习 一下SpringBoot2的Scheduled定时任务功能。在网上搜了几篇博客看下,都说很简单。就把之前的一个工程文件打开,在启动类加上注解@EnableScheduling,在ServiceImpl方法上加上注解@Scheduled(cron = “30,40,50 * * * * ?”),想测试一下分别在30秒,40秒,50秒的时候,是不是能自动执行我写的一个简单的MybatisPlus3.x插入记录的功能。一启动,就报如标题上的错误提示。经过漫长的四个小时的上网查找相关报错的解决方法,加上最后一刻自己的福至心灵,终于解决问题。程序跑通,能正常定时执行sql插入命令。感觉很有必要复盘一下。记录如下。

    之前的那个工程,是从网上下载的一个网友的MybatisPlus3.x的SpringMVC示例项目。由于公司项目都是用的SpringBoot2.x,我就把它改造了一下。平时的测试方法都是直接写在Controller层,没有另外去写service。还有它原来带过来的一些MVC配置文件没有删除。反正能跑起来,测试感受一下MP3.X的简洁sql用法,也还感觉 不错。

    可是,今天我写了一个service及实现类,就报如标题所示的错误了。百思不得解。
    找到的网上第一篇文章说,把springboot的版本改成1.5.19就对了,改了是能行,但是,我们现在的项目都是springboot2.1的,不能这样往后退啊。第二篇文章说是要加一个Listener到web.xml,网上搜了一下,才发现springboot是不需要配web.xml文件的。第三篇文章说要在启动类中加@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}),去掉数据源的引用,发现也不行。第四篇文章说引用jar包有冲突,说在idea中打开pom的依赖图表,删除冲突。我点了两下,没有删除掉那根红线。突然发现是springboot指向了spring-context。于是就在疑惑srping-boot,跟spring-context是啥关系。回到我的项目的pom中,

    <!-- spring -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.10.RELEASE</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>4.3.10.RELEASE</version>
    </dependency>

    突然感觉,这是spring的配置,会不会是多余的呢?那springboot是不是还需要多加这样的配置呢?网上一查,才明白,springboot已经含了这两样依赖。去掉后,程序正常。不再报错。

    总结: 如果程序报了很奇怪的错误,网上也很难查到有同样的错误解决方法的话,考虑是不是jar包冲突。idea中,在pom文件鼠标右键,查看diagram 依赖表,看有没有红线,再根据红线的指向关系,判断是否是相关引入组件有冲突。
    ————————————————
    版权声明:本文为CSDN博主「流水晓风1」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/lx12345_/article/details/89426533

  • 相关阅读:
    Android开发:android.support.v7.widget.AppCompatButton cannot be cast to android.widget.EditText;使用Fragment时不同引入包的问题解决
    Android开发:java.net.SocketException: Permission denied问题解决
    毕业设计进度:3月26日
    Android开发:在非Activity类中,如何实现跳转到另一个Activity
    Android开发:Textview控件显示的字符串中部分文字格式修改
    Android开发:URLDecoder: Illegal hex characters in escape (%) pattern : %编码问题
    Android开发:输入框点击后弹出的小键盘把页面向上挤压问题解决
    Android开发:Can't create handler inside thread that has not线程问题解决
    CCF认证历年试题
    北大ACM
  • 原文地址:https://www.cnblogs.com/telwanggs/p/13139778.html
Copyright © 2020-2023  润新知