chasing鱼 2025-10-30 15:41 采纳率: 37.5%
浏览 7

spring矿建,dubbo版本升级为2.7.22,启动报错

使用Spring框架,dubbo版本由2.5.10升级为2.7.22版本,spring为适配dubbo版本由4.2.6.RELEASE升级为5.3.23,zookeeper版本为3.7.1版本,但是服务器启动tomgcat失败,且报错(Error):

十月 30, 2025 3:24:59 下午 org.apache.catalina.core.StandardContext resourcesStart
严重: Error starting static Resources
java.lang.IllegalArgumentException: Document base /app/tomcat/webapps/med does not exist or is not a readable directory
        at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:136)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:5197)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5386)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:677)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1962)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

没有配置过:/app/tomcat/webapps/med该地址路径

严重: One or more listeners failed to start. Full details will be found in the appropriate container log file
ERROR 2025-10-30 15:25:05.634 [localhost-startStop-1]  - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from URL [file:/app/tomcat/webapps/channel-access-1.0-SNAPSHOT/WEB-INF/classes/spring/root-context.xml]; nested exception is java.lang.IllegalStateException: Context namespace element 'annotation-config' and its parser class [org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser] are only available on JDK 1.5 and higher
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) ~[spring-2.5.6.SEC03.jar:4.2.6.RELEASE]
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) ~[spring-2.5.6.SEC03.jar:4.2.6.RELEASE]
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) ~[spring-2.5.6.SEC03.jar:4.2.6.RELEASE]
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068) ~[catalina.jar:7.0.68]
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584) ~[catalina.jar:7.0.68]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) ~[catalina.jar:7.0.68]
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899) ~[catalina.jar:7.0.68]
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875) ~[catalina.jar:7.0.68]
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) ~[catalina.jar:7.0.68]
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091) ~[catalina.jar:7.0.68]
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980) ~[catalina.jar:7.0.68]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_201]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_201]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_201]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_201]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
Caused by: java.lang.IllegalStateException: Context namespace element 'annotation-config' and its parser class [org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser] are only available on JDK 1.5 and higher
        at org.springframework.context.config.ContextNamespaceHandler$1.parse(ContextNamespaceHandler.java:65) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398) ~[spring-2.5.6.SEC03.jar:2.5.6.SEC03]
        ... 26 more

程序中spring相关配置文件命名也没有root-context.xml这个配置文件,为什么会报这两个错误,该怎么解决?请高工们给分析一下,给个解决方案

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-10-30 15:45
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题分析

    • 您升级了Dubbo版本从2.5.10到2.7.22
    • 同时升级了Spring版本从4.2.6.RELEASE到5.3.23
    • 使用Zookeeper 3.7.1作为注册中心
    • 启动报错

    解决方案

    1. 检查Dubbo配置 确保Dubbo配置文件(通常是dubbo.propertiesdubbo.xml)正确配置了Zookeeper的连接信息。
    2. 检查Spring配置 检查Spring配置文件(通常是application.propertiesapplication.yml)是否正确配置了Dubbo的依赖。
    3. 检查依赖版本 检查项目的依赖版本是否正确,特别是Dubbo和Spring的版本。
    4. 检查Zookeeper连接 检查Zookeeper是否正常运行,是否可以连接。

    核心代码

    <!-- dubbo.properties -->
    dubbo.registry.address=zookeeper://127.0.0.1:2181
    
    <!-- application.properties -->
    spring.dubbo.application.name=my-app
    spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
    

    如果以上步骤都检查无误,仍然报错,请提供详细的错误信息和配置文件内容,以便进一步帮助。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月30日