瞧这! 2023-10-17 17:28 采纳率: 0%
浏览 28
已结题

Tomcat启动报错,如何排查此类问题及问题解决方法


 Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource.<init>(Lorg/springframework/core/type/AnnotationMetadata;Ljava/lang/Class;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/core/env/Environment;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;Lorg/springframework/beans/factory/support/BeanNameGenerator;)V" the class loader (instance of org/apache/catalina/loader/ParallelWebappClassLoader) of the current class, org/springframework/boot/autoconfigure/data/AbstractRepositoryConfigurationSourceSupport$AutoConfiguredAnnotationRepositoryConfigurationSource, and the class loader (instance of java/net/URLClassLoader) for the method's defining class, org/springframework/data/repository/config/AnnotationRepositoryConfigurationSource, have different Class objects for the type org/springframework/core/env/Environment used in the signature
                at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport$AutoConfiguredAnnotationRepositoryConfigurationSource.<init>(AbstractRepositoryConfigurationSourceSupport.java:133)
                at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport$1.<init>(AbstractRepositoryConfigurationSourceSupport.java:74)
                at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.getConfigurationSource(AbstractRepositoryConfigurationSourceSupport.java:73)
                at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.registerBeanDefinitions(AbstractRepositoryConfigurationSourceSupport.java:61)
                at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:396)
                at java.util.LinkedHashMap.forEach(Unknown Source)
                at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:395)
                at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:157)
                at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129)
                at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343)
                at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
                at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
                at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
                at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
                at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
                at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
  • 写回答

24条回答 默认 最新

  • 社区专家-Monster-XH 2023-10-17 17:29
    关注
    获得0.80元问题酬金

    基于Monster 组和GPT的调写:

    • 类加载器冲突错误,是一个 java.lang.LinkageError。表明运行时,应用尝试加载了一些不兼容的类或在多个类加载器之间存在版本冲突。在你提供的堆栈跟踪中,问题似乎与Spring框架的类加载和Spring Data repository的配置有关。

    通用步骤和策略:

    1. 检查依赖冲突:先要检查项目的依赖项。确保没有冲突的库版本,尤其是与Spring相关的库。用Maven或Gradle的依赖树来查找可能的冲突。对于Maven,可以在命令行中运行 mvn dependency:tree 来查看。

    2. 统一库版本:如果你的项目中用了不同版本的Spring库,尝试统一版本。有时候,不同的库或框架会依赖于同一组件的不同版本,这可能会导致类似的错误。

    3. 检查类加载器:应用程序服务器或容器(如Tomcat)可能会有自己的类加载器设置,有时这些设置会与应用程序的期望不符。研究一下如何在你的环境中配置类加载器,并确保没有不合适的设置。

    4. 更新/降级库:更新(或有时降级)Spring或其他相关库到一个稳定的版本。可能是一个新版本的库引入了一个bug,或者有一个已知的问题。

    5. 清理和重建:执行全面的清理和重建操作。如果你用Maven或Gradle,确保执行一个完全的清理命令来删除旧的编译输出,然后重新构建项目。

    6. 查看应用服务器的库:某些情况下,应用服务器(例如Tomcat)可能在其自己的lib目录下包含一些库,这些库可能与你的应用程序库发生冲突。确保Tomcat的lib目录不包含任何可能冲突的库。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 创建了问题 10月17日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据