A working pom.xml for you.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.jetty.demo</groupId>
<artifactId>webapp-2.5</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>webapp-2.5 Maven Webapp</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jetty-version>7.6.14.v20131031</jetty-version>
<slf4j-version>1.7.5</slf4j-version>
<logback-version>1.0.13</logback-version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>webapp-2.5</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty-version}</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<stopKey>STOP</stopKey>
<stopPort>9999</stopPort>
<webApp>
<contextPath>/</contextPath>
</webApp>
<connectors>
<connector
implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>28080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j-version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jsp</artifactId>
<version>${jetty-version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
This will do the integration phase start/stop, with logging configured, as well as the supporting $ mvn jetty:run
on a Servlet 2.5 webapp.
Working Example
A working example webapp has been uploaded to github.
https://github.com/jetty-project/jetty-maven-plugin-examples
See the webapp-2.5 sub-project
To build the war
$ mvn clean install
To run the jetty server using your jetty-maven-plugin configuration
$ mvn jetty:run
Goto your browser and hit any of the following URLs to see it working.
http://localhost:28080/
- simple html response fromsrc/main/webapp/index.html
http://localhost:28080/time
- simple servlet response fromorg.eclipse.demo.TimeServlet
http://localhost:28080/flarnsworth
- an invalid reference, so this will trigger the<error-page>
handling and return a response fromorg.eclipse.jetty.demo.ErrorServlet
http://localhost:28080/dump.jsp
- a jsp response fromsrc/main/webapp/dump.jsp