ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Tomcat 오류 ) 톰캣을 설치하고 나서 발생한 오류
    JAVA/기타 2024. 6. 1. 13:57

    ▤ 목차

       

       

       

      ✔ The server cannot be started because one or more of the ports are invalid

       

      🚫 오류 메시지

      The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports

       

       

       

      💻 해결

       

      Tomcat의 port 번호가 잘못 설정되었는지 확인해봤지만

      http/1.1은 8080으로 잘 돌아갔다.

       

      검색 결과 Tomcat admin port 번호가 -로 설정되어있었는데  8005으로 설정해주고 Server Options를 설정해주면 된다.

      publish module contexts to separate XML files를 체크해주면 된다.

       

       

      👏 해결?

      변경하고 다시 실행해봤다.

      또 다시 port 번호로 오류가 났다. 오류는 아래와 같다.

       

       

       


       

       

       

      ✔ 이미 구동중인 tomcat (Several ports (8005, 8080) required by Tomcat v9.0 Server at )

      ⌨ 오류 메시지

       

      Several ports (8005, 8080) required by Tomcat v9.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).

       

       

      💻 해결 방법

       

      해당 포트가 이미 이용중이라는 오류창이 떠있었다.

      taskkill을 써야하는구나 생각하면서 해당 포트를 찾아갔다.

       

      모든 포트번호를 알 수 있는 명령어이다.

      netstat -p tcp -ano

       

       

      나는 특정 포트번호를 찾고 싶었다.

      netstat -ano | findstr 8080

       

       

      해당 포트를 사용하는 PID를 찾았다.

      이제 해당 프로세스를 죽여주면(kill)된다.

       

      taskkill /f /pid 3092

       

      + /f 는 프로세스를 강제로 종료하는 명령어이다.

       

       

      👏 이해할 수 없는 점

       

      The default superclass, "jakarta.servlet.http.HttpServlet", according to the project's Dynamic Web Module facet version 
       (5.0), was not found on the Java Build Path.

       

      나는 위와 같은 에러 메시지를 해결하기 위해 진행했던 위의 과정이였다.

      위의 과정을 처리하고나니깐 해당 에러가 사라져있었다.

      이쪽 부분에서 에러가 났는데 실행하고 eclipce를 재실행하니 오류가 사라져 있었다.

       

       

       

       

      ✔The default superclass, "jakarta.servlet.http.HttpServlet", according to the project's Dynamic Web Module facet version (5.0), was not found on the Java Build Path.

       

      노트북도 이클립스를 설치했는데, 동일한 오류가 나서 추가한다.

      해당 오류

       

       

       

      Dynamic Web Module을 들어갔다.

      version을 5로 되어있는 경우, Runtimes에 톰켓이 뜨지 않았다.

      (때문에 new로 톰켓을 한번 더 추가..ㅎ 모르겠다.)

      3버전으로 다운그레이드시켰다.

      4버전에도 apache tomcat이 나타났는데 java 1.8부터 지원해주는 것같다.

      나는 java 17버전이기에 3버전으로 설정했다.

      아래와 같이 선택하고 Apply 눌러줬다.

       

       

       


       

       

      😊정리

      나와 같은 오류를 가진 사람들이 많았다.

      감사히도 해당 오류를 처리하는 방법을 잘 정리해둔 블로그들이 많이 있었다.

      나중이라도 내가 참고할 수 있도록 남겨두지만 다른 분들도 같은 과정에서 조금이라도 빠르게 오류를 해결하길 바라는 취지도 담아 정리해둔다.

       

      겸사 겸사 netstat 명령어도 사용했다.

      네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 명령어이다.

       

       

       

    Designed by Tistory.