当前位置: 首页 > news >正文

Web server failed to start. Port 8080 was already in use

一、问题

package com.djc.boot;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author JIACHENGER* @Description 配置springboot、jenkins、gitlab自动化部署测试项目* @since 10/6/2023 3:54 下午*//** 2023-10-6 16:28:13* #@RestController是一个合成注解,由@ReponseBody和@Controller合成,具有两个注解的功能。* #@ReponseBody:给浏览器返回纯文本。** 2023-10-6 16:29:16* 关于我们的MyApplication类是 @Rest控制器。这称为刻板印象注释。它为阅读代码的人提供了提示,并为Spring提供了类扮演特定角色的提示。* 在这种情况下,我们的类是一个web@Controller,所以Spring在处理传入的web请求时会考虑它。**这个@RequestMapping注释提供了“路由”信息。它告诉Spring /路径应映射到home方法 @Rest控制器注释告诉Spring将结果字符串直接返回给调用者。*** @SpringBootApplication* 第二个类级注释是@SpringBootApplication。此注释称为元注解,它结合了@SpringBootConfiguration ,* @enableautoconfiguration和@ComponentScan .* 其中,我们最感兴趣的注释是@EnableAutoConfiguration .@enableautoconfiguration告诉Spring Boot根据您添加的jar依赖项* “猜测”您想要如何配置Springspring-boot-starter-web添加了Tomcat和Spring MVC,自动配置假定您正在开发web应用程序并相应* 地设置Spring。****/
@RestController
@SpringBootApplication
public class MainApplication {@RequestMapping("/")String home() {return "Hello World! 2023-10-6 16:42:14 DJCKING *** ";}public static void main(String[] args) {SpringApplication.run(MainApplication.class, args);}}

在这里插入图片描述

二、解决

2.1 方法1-结束进程对8080端口的占用

参考我这篇文章的命令 Error running ‘Tomcat 8.5.29‘ Address localhost:1099 is already in use

//1-查看端口占用,根据端口号1099,获取PID(进程ID)
netstat -ano | findstr "端口号"//查看PID对应的进程
tasklist | findstr "进程ID"//2-根据PID结束进程
taskkill /F /PID PID值
或者taskkill -f -pid PID值或者(可能会直接结束intellij IDEA,相当于任务管理器中结束intellij IDEA  2023-10-6 16:56:00 补充)
taskkill  /f /t /im PID值

注意:执行taskkill /F /PID 22096taskkill -f -pid 22096taskkill /f /t /im 22096 可能会直接结束Intellij IDEA应用
在这里插入图片描述

2.2 方法2-更换Tomcat默认端口

SpringBoot 内置了 Tomcat服务器 ,所以不能直接在IDE中配置Tomcat的端口,可以通过配置文件的方式来指定Tomcat的端口。

在项目目录下的src/main/resources中新建application.properties文件,配置Tomcat端口8090

#符号表示注释
#application.properties配置文件中指定Tomcat端口,解决8080 端口占用问题
#application.properties与application.yml两个配置文件二选一
server.port=8090

运行结果
在这里插入图片描述
在这里插入图片描述

或者

在项目目录下的src/main/resources中新建application.yml文件,配置配置Tomcat端口8091

#符号表示注释
#application.yml与application.properties两个配置文件二选一
#Tomcat
server:port: 8091

运行结果
在这里插入图片描述
在这里插入图片描述

三、代码中设置端口

setDefaultProperties()方法将server.port设置为8010。接受一个Map类型键值对参数,其中key属性名value属性值

关键设置端口代码:

 //通过代码设置端口  2023-10-6 23:25:24SpringApplication sapp = new SpringApplication(MainApplication.class);sapp.setDefaultProperties(Collections.singletonMap("server.port", "8010"));sapp.run(args);

完整代码:

package com.djc.boot;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Collections;/*** @author JIACHENGER* @Description 配置springboot、jenkins、gitlab自动化部署测试项目* @since 10/6/2023 3:54 下午*//** 2023-10-6 16:28:13* #@RestController是一个合成注解,由@ReponseBody和@Controller合成,具有两个注解的功能。* #@ReponseBody:给浏览器返回纯文本。** 2023-10-6 16:29:16* 关于我们的MyApplication类是 @Rest控制器。这称为刻板印象注释。它为阅读代码的人提供了提示,并为Spring提供了类扮演特定角色的提示。* 在这种情况下,我们的类是一个web@Controller,所以Spring在处理传入的web请求时会考虑它。**这个@RequestMapping注释提供了“路由”信息。它告诉Spring /路径应映射到home方法 @Rest控制器注释告诉Spring将结果字符串直接返回给调用者。*** @SpringBootApplication* 第二个类级注释是@SpringBootApplication。此注释称为元注解,它结合了@SpringBootConfiguration ,* @enableautoconfiguration和@ComponentScan .* 其中,我们最感兴趣的注释是@EnableAutoConfiguration .@enableautoconfiguration告诉Spring Boot根据您添加的jar依赖项* “猜测”您想要如何配置Springspring-boot-starter-web添加了Tomcat和Spring MVC,自动配置假定您正在开发web应用程序并相应* 地设置Spring。****/
@RestController
@SpringBootApplication
public class MainApplication extends SpringBootServletInitializer {@RequestMapping("/")String home() {return "Hello World! 2023-10-6 16:42:14 DJCKING *** ";}public static void main(String[] args) {//SpringApplication.run(MainApplication.class, args);//通过代码设置端口  2023-10-6 23:25:24SpringApplication sapp = new SpringApplication(MainApplication.class);sapp.setDefaultProperties(Collections.singletonMap("server.port", "8010"));sapp.run(args);}}

运行结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、docker部署

如果将项目部署在Docker容器中,需要Dockerfile中设置EXPOSE指令以指定端口。
如下网关服务-gateway.jar

# 基础镜像
FROM  anapsix/alpine-java:8_server-jre_unlimited
# author
MAINTAINER djc# 挂载目录
VOLUME /home/ruoyi202381# 创建目录
RUN mkdir -p /home/ruoyi202381# 指定路径  指定工作目录
WORKDIR /home/ruoyi202381# 复制jar文件到路径
COPY ./jar/gateway.jar /home/ruoyi202381/gateway.jar# 暴露端口  2023-9-29 00:02:07
#  EXPOSE  端口号  例如:EXPOSE  8104
EXPOSE  8096# 启动用户服务    网关服务
ENTRYPOINT ["java","-jar","gateway.jar"]

相关文章:

Web server failed to start. Port 8080 was already in use

一、问题 package com.djc.boot;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annota…...

new和malloc的区别

new 和 malloc 都是在 C 中用于动态分配内存的方式,但它们之间有一些重要的区别 对象类型的区别: new:new 是 C 的关键字,用于动态分配对象。它可以调用对象的构造函数进行初始化,并返回指向所分配对象的指针。mallo…...

python:openpyxl 读取 Excel文件,显示在 wx.grid 表格中

pip install openpyxl openpyxl-3.1.2-py2.py3-none-any.whl (249 kB) et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB) 摘要:A Python library to read/write Excel 2010 xlsx/xlsm files pip install wxpython4.2 wxPython-4.2.0-cp37-cp37m-win_amd64.whl (18.0 M…...

12P2532X152 KJ3222X1-BA1 CE4003S2B1 EMERSON DELTAV

12P2532X152 KJ3222X1-BA1 CE4003S2B1 EMERSON DELTAV 除了标准的实时计算、通信和控制,边缘设备和关键网络应用的fog通常执行人工智能(AI)、虚拟现实(VR)和增强现实(AR)解决方案。 目前,制药商和医疗保健机构对它们的需求快速增长,因为它们…...

P1014 [NOIP1999 普及组] Cantor 表

#include <bits/stdc.h> using namespace std; int main() {int n,k1;cin>>n;while (n>k) {nn-k;k;}if(k%20) cout<<n<<"/"<<(k1-n);else cout<<k1-n<<"/"<<n;return 0; }...

JMeter性能分析实战一:日常登录接口

负载测试 日常需求&#xff1a;负载测试&#xff01; 对于桥的负载测试&#xff1a;我给你20t的一排车辆&#xff0c;看你能不能撑得住20t&#xff01; 对于系统的负载测试&#xff1a; 逐步增加负载&#xff0c;便于问题的发现和定位&#xff0c;不要操之过急。逐步增加负载…...

内外网结合的多服务发布架构

1. 需求 1&#xff09;有多个独立的web服务需要对外发布。 2&#xff09;有AIGC的大模型服务需要在内网图形工作站上运行&#xff0c;也需要对外发布接口。 3&#xff09;所有服务需要通过域名访问。 2. 现有资源 1&#xff09;阿里云上的ECS云服务器一台&#xff0c;考虑…...

Unity中Shader的光照模型Lambert

文章目录 前言一、Lambert光照模型1、公式可以使用图形计算器来看出这个点积对于结果的影响 前言 Unity中Shader的光照模型Lambert 一、Lambert光照模型 1、公式 A&#xff1a;可以理解为环境光的颜色 K&#xff1a;反射系数 LC&#xff1a;主要的入射光的颜色 N&#xff1a;…...

(一)Log4Net - 介绍

0、相关概念 Log4j 几乎每个大型应用程序都包含自己的日志记录或跟踪 API。根据这一规则&#xff0c;E.U. SEMPER &#x1f339;项目决定编写自己的跟踪 API。那是在 1996 年初。经过无数次的增强、几个化身和大量的工作&#xff0c;API 已经发展成为 log4j —— 一个流行的 Ja…...

[bug] mysql 时间与本地不一致

通过 select now() 查询到的时间比本机少了8个小时。 show variables like %time_zone%; //查询当前时区set global time_zone8:00; //在标准时区上加8小时,即东8区时间flush privileges; # 立即生效...

【改造先序遍历】222. 完全二叉树的节点个数

222. 完全二叉树的节点个数 解题思路-先序 直接改造先序遍历算法针对一个节点 如果节点为空 那么直接返回0其余交给递归 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* …...

windows文件和目录相关命令

目录 dir&#xff1a;用于浏览当前文件夹的内容。 cd&#xff1a;用于更改所在的工作目录。 md&#xff1a;用于创建一个新的目录。 rd&#xff1a;用于删除文件夹&#xff0c;如果不加/s参数的话只能删除空目录。 echo&#xff1a;用于输出一段文本信息。 type&#xff1…...

TL-ER3220G端口映射设置

1、打开IE浏览器或其它浏览器&#xff0c;在地址栏输入192.168.1.1登录路由器的Web管理界面&#xff1b; 2、打开后弹出密码输入框&#xff0c;输入路由器的用户名和密码&#xff0c;出厂默认值为admin/admin&#xff0c;成功登录后将看到路由器的系统状态信息&#xff1b; 3、…...

MySQL Cluster

文章目录 1.简介2.组成参考文献 1.简介 MySQL Cluster 是官方推出的基于 NDB&#xff08;Network DataBase&#xff09;存储引擎的高可用和可伸缩的分布式数据库系统。 以下是 MySQL NDB Cluster 的主要特点和能力&#xff1a; 高可用&#xff1a;MySQL Cluster 具有内置的高…...

Spring封装的原生WebSocket使用,带组的实现

前言 为了和TIO来进行对比websocket的简易程度,我这篇就是写一下Spring原生的webSocket的正常操作 拿来对比就可以说说优劣性 正文 首先还是导入原生依赖,这里不需要写版本号 <dependency><groupId>org.springframework.boot</groupId><artifactId>spr…...

Linux高性能服务器编程 学习笔记 第十一章 定时器

网络程序需要处理定时事件&#xff0c;如定期检测一个客户连接的活动状态。服务器进程通常管理着众多定时事件&#xff0c;有效地组织这些定时事件&#xff0c;使其在预期的时间被触发且不影响服务器的主要逻辑&#xff0c;对于服务器的性能有至关重要的影响。为此&#xff0c;…...

jenkins拉取git代码 code 128解决方案

jenkins拉取git代码 code 128解决方案 处理方案&#xff1a; 先检查一下自己的账号正常是否有权限(如账号正常有权限请看第二步&#xff09;找到Jenkins工作目录&#xff0c;重命名caches文件夹(或直接删除caches内的所有内容) # 进入到jenkins目录&#xff08;注意&#xf…...

【Linux】 ls命令使用

ls&#xff08;英文全拼&#xff1a; list directory contents&#xff09;命令用于显示指定工作目录下之内容&#xff08;列出目前工作目录所含的文件及子目录)。 ls命令 -Linux手册页 著者 由Richard M.Stallman和David MacKenzie撰写。 语法 ls [-alrtAFR] [name...] ls命…...

【CVE-2023-35843】NocoDB 任意文件读取漏洞

一、漏洞描述 NocoDB 是 Airtable 的开源替代方案&#xff0c;可以“一键”将 MySQL、PostgreSQL、SQL Server、SQLite 和 MariaDB 转换为智能电子表格。此软件存在任意文件读取漏洞。 二、影响范围 NocoDB<0.106.1 三、网络空间搜索引擎搜索 fofa查询 icon_hash"-…...

在 ubuntu 22.04 上配置界面服务器 vnc

xrdp服务器的安装 步骤 1.安装服务器 $ sudo apt install tightvncserver // 命令过后并没有启动服务器 // 这个包没有 systemd 脚本,其不被 systemd 管理!!!查看配置 $ cat ~/.vnc/xstartup #!/bin/shxrdb "$HOME/.Xresources" xsetroot -solid grey #x-termina…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...