解决Spring Boot项目端口8080被占用的问题

错误提示:

2018-11-12 21:25:58.422 ERROR 15916 — [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :

APPLICATION FAILED TO START

Description:

The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8080, or configure this application to listen on another port.

可能的原因:

  1. 电脑中其他进程占用8080端口;
  2. 其他Spring Boot项目占用8080端口;
  3. 自己要运行的项目重复生成占用了端口。

解决方法:

对于造成端口占用的原因1和2解决方法有两种:
方法一:更改项目运行的端口号
如果我们没有在配置文件(application.properties)中配置端口号,Spring Boot项目则会采用默认的8080端口号,我们通过在配置文件中添加server.port=8004将端口号改为不为8080的端口;
如下图:

方法二:使用cmd结束占用8080端口的进程
1 打开cmd输入:netstat -ano|findstr 8080,显示占用8080的进程;

2 可以查看8080下的各个进程的具体信息,例如通过netstat -ano|findstr 4252查看PID为3160的进程具体的信息,然后使用taskkill /pid 3160/f将进程关闭,我们可以将8080下的进程全给关掉,然后在运行Spring Boot项目,就不会出现端口占用问题了!

对于造成端口占用的原因3的解决方法:

对于原因3,是由于在IDEA中开启了Spring Boot项目的多端口部署的原因,也就是你每一次运行(Run)都会生成一个程序,如下图:

注解1处显示已经运行了两个Application,如同注解2显示的俩个,因为如果打开了Spring Boot项目的多端口部署,每一次点击注解1的运行图标都是Run,而不是如同注解三处的的重新生成(Rerun)这个程序;

1.点击图中Edit Configurations,如图

2.选中的Single instance only点击ok。

总结

到此这篇关于解决Spring Boot项目端口8080被占用的问题的文章就介绍到这了,更多相关Spring Boot端口8080被占用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Spring Boot修改内置Tomcat默认端口号的示例

    Spring Boot 内置Tomcat默认端口号为8080,在开发多个应用调试时很不方便,本文介绍了修改 Spring Boot内置Tomcat端口号的方法. 一.EmbeddedServletContainerCustomizer接口 EmbeddedServletContainerCustomizer接口提供了customize方法用来自定义servlet容器的一些属性 如图编写实现类在customize方法中可设置容器端口号为8088 . 二.TomcatEmbeddedServletC

  • Intellij IDEA实现SpringBoot项目多端口启动的两种方法

    前言 有时候使用springboot项目时遇到这样一种情况,用一个项目需要复制很多遍进行测试,除了端口号不同以外,没有任何不同.这时我们强大的Intellij IDEA就能替我们实现. 实现方法 第一种方法 1.点击图中Edit Configurations,如图 2.取消选中的Single instance only 3.启动项目,demo(9000),如图. 4.修改配置文件中的端口号为9001,启动项目,demo(9001),如图. 从下方可以看到demo项目分别以9000和9001启动了

  • 如何设置springboot启动端口

    spring boot是个好东西,可以不用容器直接在main方法中启动,而且无需配置文件,方便快速搭建环境.可是当我们要同时启动2个springboot工程时,就会有问题,有可能会因为8080端口被第一个应用占用而导致第二个应用无法启动,这时就需要修改其中一个工程的启动端口. 可以通过实现EmbeddedServletContainerCustomizer接口来实现: public class Application extends SpringBootServletInitializer im

  • SpringBoot项目不占用端口启动的方法

    SpringBoot项目不占用端口启动 现在很多互联网公司或者项目,都使用SpringBoot + SpringCloud,以微服务的形式来提供后台服务.而且既然是微服务,所涉及到的项目就会很多,服务器端口资源就会相当紧张.而且,其实有些项目,如定时任务等,是不需要对外提供服务,也就不需要占用服务器端口的.那么,在SpringBoot项目中,怎么实现呢?其实很简单,如下: @EnableScheduling @SpringBootApplication public class Applicat

  • SpringBoot项目修改访问端口和访问路径的方法

    创建SpringBoot项目,启动后,默认的访问路径即主机IP+默认端口号8080:http://localhost:8080/ 此时,我们就可以访问Controller层的接口了,如:http://localhost:8080/hello package com.springboot.test; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.a

  • 解决Spring Boot项目端口8080被占用的问题

    错误提示: 2018-11-12 21:25:58.422 ERROR 15916 - [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : APPLICATION FAILED TO START Description: The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or t

  • 解决python web项目意外关闭,但占用端口的问题

    问题描述 因为项目强制关闭,但是服务还在运行,导致重新运行项目时候 提示地址已经使用(端口被占用) /usr/bin/python3.5 python-login-demo/index.py http://0.0.0.0:8080/ Traceback (most recent call last): File "/var/www/git/mine/python-login-demo/index.py", line 64, in <module> application.r

  • idea的spring boot项目实现更改端口号操作

    1.位置:如下: 如果没有则在相同位置新建一个 2. 添加端口号,修改: 如图 server.port=8080 启动项目就会发现端口号已经成为你刚才改的那个了 补充知识:IDEA 配置 SpringBoot 启动端口 假如我们在开发的时候想将启动端口改为 80 方便调试但又不想修改配置文件,这样就可以通过 IDEA 本身的配置来指定启动端口了. 具体配置如下: 第一步: 第二步: 通过以上 2 步配置的配置,接下来项目就会以 80 端口来启动了.它实际上是覆盖了 springboot 配置文件

  • spring boot项目导入依赖后代码报错问题的解决方法

    代码截图如图所示(由于本人问题已经解决,没来得及截图,所以在网上找了一张图片) ​ 针对图中所示的情况,可参考一下解决方案: 方案一: 在 Idea 导入 Spring Boot 项目代码报红,试过更改maven配置,maven clean操作,执行-U idea:idea等命令还是提示:cannot resolve symbol 'SpringBootApplication' .我最终解决方法是导入要导入项目的pom.xml文件,而不是导入现有项目解决.选择pom.xml后会弹出提示框,选择a

  • 解决Spring Boot 在localhost域奇怪的404问题(Mac book pro)

    在mac系统中,明明url是对的,浏览器也可以打开,一个简单的代码调用就是404,你有没有遇到过? 情景再现 普通的一个controller,返回一个常量. @GetMapping("/project_metadata/spring-boot") public String getMetadata(){ return "{\"data\":1234}";//这个不重要 } 调用接口的方式: content = new JSONObject(res

  • Spring Boot 启动端口如何启动

    Spring Boot 启动端口 Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat.weblogic等等),当然在此之前你要对程序入口做简单调整. spring boot是个好东西,可以不用容器直接在main方法中启动,而且无需配置文件,方便快速搭建环境.可是当我们要同时启动2个springb

  • Spring boot随机端口你都不会还怎么动态扩容

    一般情况下每个spring boot工程启动都有固定的端口,但是固定端口不利用服务的动态扩容,如果在一台服务器上需要对同一个服务进行多实例部署,很容易出现端口冲突,那么怎么解决这个问题呢? random随机端口 在spring boot中,可以通过${random}来生成随机数字,我们可以在配置文件中,这么设置端口: server.port=${random.int(2000,8000)} 通过random.int方法,指定生成2000~8000的随机端口.这样每次启动的端口都不一样. 多次启动

  • Spring Boot 项目启动失败的解决方案

    Spring Boot 项目是不是经常失败,显示一大堆的错误信息,如端口重复绑定时会打印以下异常: *************************** APPLICATION FAILED TO START *************************** Description: Embedded servlet container failed to start. Port 8080 was already in use. Action: Identify and stop the

  • Spring Boot 项目发布到 Tomcat 服务器的操作步骤

    第 1 步:将这个 Spring Boot 项目的打包方式设置为 war. <packaging>war</packaging> SpringBoot 默认有内嵌的 tomcat 模块,因此,我们要把这一部分排除掉. 即:我们在 spring-boot-starter-web 里面排除了 spring-boot-starter-tomcat ,但是我们为了在本机测试方便,我们还要引入它,所以我们这样写: <dependency> <groupId>org.s

  • Spring Boot启动端口修改方法

    spring boot是个好东西,可以不用容器直接在main方法中启动,而且无需配置文件,方便快速搭建环境.可是当我们要同时启动2个springboot工程时,就会有问题,有可能会因为8080端口被第一个应用占用而导致第二个应用无法启动,这时就需要修改其中一个工程的启动端口. 1.可以通过实现EmbeddedServletContainerCustomizer接口来实现: public class Application extends SpringBootServletInitializer

随机推荐