【解决】nested exception is org.springframework.boot.web.server.WebServerException Unable to start

【问题描述】:IDEA发布SpringBoot工程时,出现了该异常,一直发布不成功,报了以下的错误

nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded

问题原因

因为SpringBoot是内嵌了Tomcat服务器的,出现该问题的话,明显是因为Tomcat没有配置好,网络上有说包冲突的,这里希望大家在自己的项目文件中查询下,能否找到下面这个包:
在这里插入图片描述
如果能找到以上的包,则说明您应该是出现了 tomcat 相关包之间的冲突,如果没有该包,则最好在pom.xml 中引入 tomcat 包

问题解决

法1

原则上 pom.xml 中引入下面的内容,可以直接解决问题的

   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <!-- 也有人说这个 provided 可能有问题,具体可以自行测试-->
            <scope>provided</scope>
    </dependency>`

法2(我用的该方法)

同样是在pom.xml中加入 spring-boot-starter相关的组件

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
   <!-- 其实我感觉是上面的 parent 发挥的作用,下面这些包,似乎没什么影响-->
   <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

不过问题解决了,以此记录

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当出现“unable to start web server; nested exception is org.springframework.boot.web”错误时,它通常表示Spring Boot应用程序无法启动Web服务器。该错误信息给出了更深层次的原因,即org.springframework.boot.web异常。 这种异常可能是由很多不同的原因引起的。以下是可能导致该异常的一些原因: 1. 应用程序端口被另一个进程占用 2. 依赖项版本不兼容 3. 无效的启动配置文件路径 4. 应用程序代码错误 要解决这个问题,需要排除每个可能原因引起问题的可能性。首先,检查应用程序端口是否被另一个应用程序占用。使用netstat命令可以在Windows和Mac操作系统上找到已占用的端口。如果应用程序端口已被占用,可以更改端口或解除其他应用程序占用该端口。 其次,确保依赖项版本兼容。在pom.xml或build.gradle中,使用正确的库版本。在引用Spring Boot库时,始终使用可以兼容应用程序当前版本的最新版本。 第三,检查启动配置文件路径是否正确。确认配置文件位于正确的路径下,并且文件名正确。 最后,确保应用程序代码没有错误。检查日志文件以查看是否有任何异常。检查应用程序类定义是否正确。 总之,当遇到“unable to start web server; nested exception is org.springframework.boot.web”错误时,需要逐个排除可能原因,直到确定问题出在哪里并进行相应的修改和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值