웹 서버를 시작하지 못했습니다.포트 8080은 이미 사용 중입니다.스프링 부트 마이크로 서비스
웹에 전화하려고 합니다.gradle 프로젝트의 API입니다.
저의 build.gradle은 다음과 같습니다.
plugins {
id 'org.springframework.boot' version '2.1.4.RELEASE'
id 'java'
}
apply plugin: 'io.spring.dependency-management'
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
runtimeOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
compile 'org.springframework.boot:spring-boot-starter-webflux'
compile 'org.projectreactor:reactor-spring:1.0.1.RELEASE'
}
다음 종속성을 제거할 경우
compile 'org.springframework.boot:spring-boot-starter-webflux'
되긴 하는데 다시 추가하면.그것은 로서의 오류를 일으킨다.
Web server failed to start. Port 8080 was already in use.
Web Client를 사용하려면 어떻게 해야 하나요?어플리케이션은 포트가 필요한 웹 어플리케이션이 아니기 때문입니다.일종의 마이크로 서비스입니다.
Spring Boot의 Web Client를 사용하고 싶을 뿐입니다.응용 프로그램을 웹 응용 프로그램으로 변환하지 않고 사용하려면 어떻게 해야 합니다.
Windows에서 응용 프로그램을 실행할 때마다 이 메시지가 표시되는 경우:
> netstat -ano | findstr *<port used>*
TCP 0.0.0.0:*<port used>* 0.0.0.0:0 LISTENING *<pid>*
TCP [::]:*<port used>* [::]:0 LISTENING *<pid>*
> taskkill /F /PID *<pid>*
SUCCESS: The process with PID *<pid>* has been terminated.
위의 netstat에 다음과 같은 것이 포함되어 있는 경우
TCP [zzzz:e2ce:44xx:1:axx6:dxxf:xxx:xxxx]:540yy [zzzz:e2ce:44xx:1:axx6:dxxf:xxx:xxxx]:*<port used>* TIME_WAIT 0
그런 다음 잠시 기다리거나 다른 포트를 사용하도록 재설정할 수 있습니다.
애플리케이션을 실행할 때 임의로 생성하고 포트가 비어 있는지 확인하기 위해 코드를 작성할 수 있습니다.그러나 이것은 그들이 소모되기 시작하면서 수익은 감소합니다.한편, 애플리케이션이 정지하면, 상기의 조작을 실시하는 자원 정리 코드를 추가할 수 있습니다.
다음 행을 추가하여 application.properties에서 응용 프로그램의 기본 포트를 변경할 수 있습니다.
server.port = 8090
기동을는, 합니다.application.properties (오류).yml
spring.main.web-application-type=none
클래스 패스에 웹 서버를 시작하는 데 필요한 비트가 포함되어 있는 경우 Spring Boot에 의해 자동으로 시작됩니다.이 동작을 디세블로 하려면 , Web Application 을 설정합니다.application.properties를 입력합니다.
출처 : https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-web-servers.html
어플리케이션이 실제로 웹 어플리케이션인 경우 포트를 쉽게 포트를 변경할 수 있습니다.server.port.properties/.yaml파일(시작 시 명령줄 인수 등)을 지정합니다.
다른 방법은 먼저 특정 포트를 사용하고 있는 프로세스를 확인한 후 해당 프로세스 ID를 사용하여 포트를 종료하는 것입니다.
실행합니다.
lsof -i :8080이것에 의해, 포토 8080으로 리슨 하고 있는 프로세스가 식별됩니다.프로세스 ID(PID)를 확인합니다(예: 63262).
실행합니다.
kill -9 <PID>★★kill -9 63262
으로 할 수 있는 경우도 .kill the that port을 사용하다
소프트웨어를 사용하면 머신에서 실행 중인 모든 포트를 표시할 수 있으며 필요에 따라 해당 포트를 종료할 수 있습니다.
여기서 CurrPorts를 다운로드할 수 있습니다.(페이지 하단에 링크 표시)
============== OR ==============
CurrPorts를 사용하지 않으면 다음과 같은 방법으로도 이 작업을 수행할 수 있습니다.
- 관리자로 실행 중인 CMD
- 「」라고 입력합니다.
netstat -a -o -nEnter 키를 누릅니다.이제 아래와 같이 볼 수 있습니다.포트에는 기호 뒤에 Local Address 열이 표시됩니다.
- ID를 합니다.
(not port)하고 있는 것을 하고, 「」를 입력합니다.taskkill /F /PID <process_id_here>입력해 주세요.
npm을 사용하여 포트를 종료할 수 있습니다.
**npx kill-port 8080** //8080 for example
요건: npm
상세내용 : https://www.npmjs.com/package/kill-port
- src/main 내에 /syslog 폴더 생성
- /timeout 내에 application.properties 파일을 만듭니다.
- 를 쓰다
server.port=9090한 임의의 )//(포트 번호 사용)
포트:8080 이미 사용 중 오류가 발생한 경우:
- goto 명령어프롬프트 .type command > .netstat - ano 。Enter - > 실행 중인 모든 포트 체크 포트 8080 .type 명령 > taskkill / F / PID 8080 . process가 종료됩니다.
할 수 있습니다.server.port= #some-available-port number.properties file application.properties " " "
하여 "Run"을 실행합니다.netstat -a -o -n8080번 아이디입니다.
실행합니다.taskkill /F /PID #Processid
해결 방법이 두 가지 있습니다.첫 번째 방법은 application.properties의 포트 번호를 변경하는 것입니다.
server.port=9999 // something like this...
다음으로 먼저 사용 가능한 실행 중인 서버를 중지하고 서버를 다시 실행합니다.
확실히 효과가 있을 거예요:)
이전에 spring boot app을 실행했다가 다시 play를 누르기 전에 중지하는 것을 잊은 경우 Windows 태스크 매니저로 이동하여 Java 어플리케이션('Open JDK Platform binary'와 같은 것)을 찾아 End Task(Java 앱이 이클립되지 않음)을 클릭합니다.그런 다음 다시 실행해 보십시오.그것은 나에게 효과가 있었다.
open 명령어프롬프트
스텝 1:netstat -ano | findstr : <4자리 포트 번호 입력>
netstat -ano | findstr :8080
TCP 0.0.0:8080 0.0.0:0 리스닝 6436
TCP [::]8080 [::]0 LISTEN 6436
스텝 2: taskkill / PID < pid number (때로는 3/4/5/6 자리수 표시)> /F
taskkill /PID 6436 /F
SUCCESS: PID 6436의 프로세스가 종료되었습니다.
이미 사용한 포트를 사용하려고 합니다.
됩니다.tcp,http는 응용 프로그램레이어이며 트랜스포트 레이어를 사용하여 요구를 송수신합니다.
스프링 부트 앱에 의해 표시되는 기본 포트는 다음과 같습니다.8080이 경우 다음 두 가지 솔루션이 있습니다.
- 응용 프로그램의 포트 변경
- 사용할 포트를 사용하는 서비스를 중지합니다.
java.net에 접속합니다.메시지 포함 BindException e:사용 가능한 다른 포트에서 시작하고 2개의 포트 중 하나에서 webclient를 사용하려면 이미 사용 중인 주소입니다.
try {
SpringApplication.run(Application.class, args);
} catch (org.springframework.boot.web.server.PortInUseException e) {
//Runtime.exec("pkil")..
//or
SpringApplication.run(Application.class, otherargs);
//SpringApplication.run(Application.class, new String[]{"--server.port=8444"});
//when invoked recursively it is a port rebalancer for port usage among port pool with server as from client for startup stage via application restarts within many busy ports which are used before or without querying.
}
이 에러는, 기본적으로 포토 8080 이 사용되고 있는 것을 의미합니다.이 오류가 발생하면 프로젝트로 이동하여 application.properties를 열고 다음 행을 추가하면 정상적으로 작동합니다.
server.port = 8090
포트를 리셋하려면8080, 를 찾을 필요가 있습니다.PID(프로세스 ID)를 지정하고 명령어에 대해 예를 들어 화면과 같이 지정합니다.10512:
taskkill /F /PID 10512
클라이언트 어플리케이션도 스프링부트 어플리케이션인데, 8080 포트로2개의 스프링부트 어플리케이션을 실행하는 이유는 무엇입니까?포트 1을 변경하거나 메인 클래스로 독립 실행형 Java 응용 프로그램을 만든 후 웹 클라이언트를 넣고 실행하십시오.http 클라이언트로 Apache Http 클라이언트를 사용할 수 있습니다.
오늘 Spring Boot 프로젝트에서 일하고 있었는데 프로젝트에서도 같은 오류가 발생했습니다.그래서 마지막으로 실행 도구 버튼 옆에 있는 중지 버튼을 클릭한 후 다시 실행했습니다.그리고 나서, 내 프로젝트는 매우 잘 진행되기 시작했다.
윈도우 검색창에 services.msc 라고 쓸 수도 있습니다.그런 다음 Apache Tomcat을 찾은 다음 이 Apache를 중지할 수 있습니다.효과가
있을 것 같아.
그것은 간단한 대답이다.이 에러가 발생했을 경우는, 프로젝트로 진행됩니다.
src/main/filename 및 application.properties 파일을 열고 여기에 기재합니다.
server.port=8045 대신 고유 번호를 지정할 수 있습니다.
- cmd를 열고 "netstat -ano -p tcp"를 입력합니다.
- 그런 다음 포트 번호와 PID를 찾습니다.
- 리소스 모니터를 열고 PID 번호를 검색합니다.
- 오른쪽 버튼을 클릭하여 "프로세스 종료"를 선택합니다.
컴퓨터를 재부팅하면 다음과 같은 문제가 발생했지만 문제가 해결되었습니다.
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.PortInUseException: Port 8081 is already in use
이 에러가 몇 번이고 표시되는 경우는, server.port=(포트 번호)가 application.properties 파일의 선두 행인지 확인합니다.
이에 대한 가장 좋은 대답은 항상 "응용 프로그램 재시작" 단추를 사용하는 것입니다.그러면 웹 서버가 중지되고 이전과 같은 포트에서 전체 앱이 다시 시작됩니다.
빨간색 사각형과 녹색 재생 아이콘이 결합된 버튼입니다.
https://i.stack.imgur.com/ICGtX.png
언급URL : https://stackoverflow.com/questions/56499928/web-server-failed-to-start-port-8080-was-already-in-use-spring-boot-microservi
'programing' 카테고리의 다른 글
| Angular CLI를 사용하여 특정 폴더에 컴포넌트를 생성하는 방법 (0) | 2023.03.04 |
|---|---|
| Angular를 작성하려면HTML 콘텐츠가 포함된 JS UI 부트스트랩 팝오버? (0) | 2023.03.04 |
| 각도에 대해 정의되지 않았거나 null입니다.JS (0) | 2023.03.04 |
| WordPress localhost 사이트를 라이브 사이트로 리디렉션 (0) | 2023.03.04 |
| 스프링 부트 - 시작 시 리퀴베이스 비활성화 (0) | 2023.03.04 |




