maven jetty plugin - 메이븐에서 제티를 구동해서 web app deploy 및 테스트

개요

제티 는 tomcat 처럼 WebServer 및 Servlet/JSP Container 기능을 제공하며 그외에 SPDY, JMX, JNDI, JAAS 가 통합되어 있는 application server 이다.

google app engine 의 JSP/Servlet container로도 채택되어 있으며 그외 sonatype nexusatlassian 의 fisheye 외 많은 상용/오픈소스에도 사용되고 있는 검증된 제품이다.

작고 가볍고 빠르기 때문에 Java web app 배포용으로 적당하다. maven jetty plugin 을 사용하면 개발된 java app 을 바로 deploy 해서 테스트해 볼 수 있다.

 

설정

Jetty7부터는 plugin 명이 maven-jetty-plugin 에서 jetty-maven-plugin 로 변경되었다.

Jetty6 설정
<build>
    <plugins>
       <plugin>
         <groupId>org.mortbay.jetty</groupId>
         <artifactId>maven-jetty-plugin</artifactId>
         <version>6.1.26</version>
        </plugin>
 </plugins>
</build>
Jetty 7, 8 설정
<build>
    <plugins>
        <plugin>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-maven-plugin</artifactId>
          <version>8.1.12.v20130726</version>
        </plugin>
    </plugins>
</build>

Goals

전체 goals 을 보려면 다음 help goal 사용 (Jetty7 부터 jetty:help goal 이 가능함)

  • mvn jetty:help

-Ddetail -Dgoalname 을 입력하면 goal 별 자세한 parameter 와 정보를 볼 수 있음

mvn jetty:help -Ddetail=true -Dgoal=start

jetty:start 로 Jetty 를 시작하고 jetty:stop goal 로 중지

 

Tips

Running Resource filters when using jetty:run goal

jetty:exploded goal is used to assemble your webapp into an exploded war and automatically deploy it to Jetty.

JNDI data source registration

 

Ref