Unable to start embedded Tomcat

2 篇文章 0 订阅
2 篇文章 0 订阅

nacos在启动时报错Unable to start embedded Tomcat

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:156)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1204)
        at com.alibaba.nacos.Nacos.main(Nacos.java:35)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:124)
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:86)
        at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:416)
        at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:180)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153)
        ... 16 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'distroFilterRegistration' defined in class path resource [com/alibaba/nacos/naming/web/NamingConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.servlet.FilterRegistrationBean]: Factory method 'distroFilterRegistration' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'distroFilter': Unsatisfied dependency expressed through field 'distroMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'distroMapper' defined in URL [jar:file:/D:/Program%20Files/nacos-server-2.0.3/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-naming-2.0.3.jar!/com/alibaba/nacos/naming/core/DistroMapper.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverMemberManager' defined in URL [jar:file:/D:/Program%20Files/nacos-server-2.0.3/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-core-2.0.3.jar!/com/alibaba/nacos/core/cluster/ServerMemberManager.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.core.cluster.ServerMemberManager]: Constructor threw exception; nested exception is ErrCode:500, ErrMsg:jmenv.tbsite.net

问题原因:单机版开启了cluster模式

解决方案2种:

1. 修改startup.cmd(Windows系统) 或者 startup.sh(Linux)文件

        修改如下:

        Windows:搜索mode, 找到set MODE="cluster" 修改为 set MODE="standalone"

 Linux:搜索mode, 找到export MODE="cluster" 修改为 export MODE="standalone"

 

2. 启动时主动写入启动模式  ./startup.cmd -m standalone 

 

修改后启动正常:

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot应用程序中,"Unable to start embedded Tomcat"错误通常表示Tomcat服务器无法启动。这可能是由于以下几个原因引起的: 1. 端口冲突:Tomcat默认使用8080端口。如果该端口已被其他应用程序占用,Tomcat将无法启动。您可以尝试更改Tomcat的端口号来解决此问题。 2. 依赖冲突:可能存在依赖冲突,导致Tomcat无法正确加载所需的类。您可以检查项目的依赖关系,并确保它们与Tomcat兼容。 3. 配置错误:可能存在配置错误,例如无效的上下文路径或无效的SSL证书配置。您可以检查应用程序的配置文件,并确保它们正确地配置了Tomcat。 4. 缺少必需的依赖项:可能缺少一些必需的依赖项,例如servlet-api或tomcat-embed-core。您可以检查项目的依赖关系,并确保所有必需的依赖项都已正确添加。 以下是一些解决此问题的常见方法: 1. 检查端口冲突:您可以使用以下命令查找正在使用的端口: ```shell netstat -ano | findstr :8080 ``` 如果找到正在使用8080端口的进程,请终止该进程或更改Tomcat的端口号。 2. 检查依赖冲突:您可以使用Maven或Gradle等构建工具来检查项目的依赖关系,并确保它们与Tomcat兼容。您可以尝试更新依赖项的版本,以解决可能的冲突。 3. 检查配置错误:您可以检查应用程序的配置文件(例如application.properties或application.yml),并确保Tomcat的配置正确。您可以尝试删除或注释掉可能引起问题的配置项,然后重新启动应用程序。 4. 检查缺少的依赖项:您可以检查项目的依赖关系,并确保所有必需的依赖项都已正确添加。您可以尝试添加缺少的依赖项,并重新构建应用程序。 请注意,具体的解决方法可能因您的应用程序和环境而异。您可以根据错误消息和日志来进一步调查问题,并根据具体情况采取适当的措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值