본문 바로가기
IT·디지털/IT 개발자 팁

Maven에서 톰캣 서버 실행하기 (2025 최신 기준 + 레거시 Tomcat Plugin 포함)

by 가을이짱짱 2015. 1. 15.
반응형

Maven에서 톰캣 서버를 직접 실행하기

Java Web 개발을 하다 보면 로컬에 설치된 Tomcat 없이도 Maven 명령어만으로 톰캣 서버를 기동하고 싶은 경우가 있습니다.

예전에는 tomcat6-maven-plugin 또는 tomcat7-maven-plugin을 사용해 mvn tomcat:run으로 톰캣을 실행할 수 있었지만, 이 플러그인들은 현재(2025년 기준) 공식적으로 유지보수가 중단된 상태입니다.

아래는 레거시 방식과 최신 개발 방식(추천)을 모두 정리한 내용입니다.


1. (레거시) Tomcat Maven Plugin 사용하기

먼저 사용자가 준 예전 방법부터 설명합니다. pom.xml에 다음 플러그인을 추가하면 별도의 톰캣 설치 없이 mvn tomcat:run이 가능합니다.

                org.apache.tomcat.maven
                tomcat6-maven-plugin
                2.1
            
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.1

그리고 실행:

mvn tomcat:run

하지만 중요한 사실:

  • Tomcat Maven Plugin은 2014~2015년 이후 더 이상 업데이트되지 않음
  • Maven Central에서도 최신 Tomcat 버전을 지원하지 않음
  • Servlet 3.x/4.x 기반 최신 애플리케이션에서는 문제가 발생할 수 있음

따라서 유지보수 중인 레거시 프로젝트에는 사용할 수 있지만, 신규 프로젝트에서는 절대 사용을 권장하지 않습니다.


2. (대안 1) Tomcat 8+/9+에서 더 이상 공식 Maven Plugin 없음

Tomcat 개발팀은 Tomcat8/9/10용 Maven 플러그인 제공을 종료했습니다. 공식적으로 Tomcat은 WAR 배포 방식 또는 embedded Tomcat(예: Spring Boot)을 권장합니다.


3. (대안 2, 추천) Jetty Maven Plugin 사용

Java Servlet 기반 개발에서 Maven으로 로컬 서버를 실행하려면 Jetty Maven Plugin이 현재 가장 간단하고 안정적인 방법입니다.

pom.xml 설정

      org.eclipse.jetty
      jetty-maven-plugin
      11.0.15

실행

mvn jetty:run

Jetty는 Servlet 4.0 / Jakarta Servlet 5까지 최신 스펙을 지원하며, 톰캣과의 동작 차이는 거의 없고 개발용으로는 매우 편리합니다.


4. (대안 3, 강력추천) Spring Boot 내장 Tomcat 실행

현재 Java Web 개발의 대부분은 Spring Boot 내장 Tomcat 기반으로 이루어집니다. 톰캣 설치도, Maven Plugin도 필요 없습니다.

실행

mvn spring-boot:run

내장 Tomcat은 자동 관리되며, pom.xml에 따로 설정할 필요가 없습니다.


5. 정리

  • tomcat6-maven-plugin / tomcat7-maven-plugin → 레거시 전용
  • Tomcat8/9/10용 Maven plugin은 공식 제공되지 않음
  • Maven에서 서버 실행이 필요하다면 Jetty Maven Plugin 또는 Spring Boot 내장 Tomcat이 최선
  • 레거시 프로젝트 유지보수 시에는 tomcat:run 사용 가능

이 글에서처럼 pom.xml에 플러그인만 추가하면 톰캣이 자동 다운로드되며 mvn tomcat:run으로 실행이 가능하지만, 신규 개발에서는 Jetty 또는 Spring Boot 기반으로 전환하는 것을 추천합니다.

반응형