인텔리제이 generator 잘못 적용 했을 때

김태윤·2024년 9월 21일

개발 노트

목록 보기
5/6

인텔리제이를 쓰는 도중 제일 기본인 hello servlet을 눌렀을 때
http 404 오류가 났다.

이미 프로젝트는 꽤 진행돼서 새로 시작하기도 복잡한 상태..

알고보니 java ee, jakarta 버전의 문제였다.

java ee 8 버전을 써야되는데 jarkarta 10 버전을 써서 파싱자체가 되지 않았다.

이미 프로젝트를 만들었는데 어떻게 generator 버전을 바꾸지..? 막막했다.

다급한 chat gpt 호출..

내가 한것은 일단 dependency 를 수정하고,
webapp 폴더의 web.xml 파일을 수정했다

원래는 jakarta에 관한 코드가 적혀있었는데 java ee 코드로 바꿨다.
(web.xml에 왜 generator 버전이 기록되어 있는지는 아래 내용 참조)

  1. web.xml 파일의 역할
    web.xml 파일은 웹 애플리케이션의 배포 서술자(deployment descriptor)로, Java EE에서 웹 애플리케이션의 설정을 관리하는 데 사용됩니다. 주로 다음과 같은 설정을 포함합니다:

서블릿 설정: 서블릿을 정의하고 URL 패턴에 매핑합니다.
필터 설정: 요청/응답 처리 중간에 동작할 필터를 정의합니다.
리스너 설정: 웹 애플리케이션이 시작되거나 종료될 때 동작할 리스너를 설정합니다.
서블릿 초기화 매개변수: 서블릿이 사용할 초기화 파라미터를 정의합니다.
보안 설정: 애플리케이션의 보안 설정(인증, 권한 관리)을 설정할 수 있습니다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
</web-app>

아무튼 그러고 다시 컴파일 했는 데 톰캣이 중복으로 실행되는 것이었다.

이에 대해서 구글링을 해보아도 적절한 답이 없는 상태..

머리를 쥐어뜯으며 인텔리제이를 껐다 키니 어라?

configuration에 톰캣 서버 자체가 사라졌다..!

침착하게 다시 톰캣 서버를 추가하여 실행시키니 정상 실행이 되었다.

아마 중복 실행되어 인텔리제이 자체에서 서버를 삭제시킨게 아닐까 싶다.

어찌저찌 해결했지만 빌드할때 초기설정을 잘 세팅하자는 교훈을 얻었다..

0개의 댓글