Run Maven Java Web Application in Jetty Maven Plugin

1- Introduction

This guide was written based on:
  • Eclipse 4.4 (LUNA) (work for 4.5 MARS).

  • Jetty Maven Plugin 9.2.x

History:
  • 19-04-2015: Based in Eclipse 4.4
The steps in this tutorial:

2- Quick create Maven Web Application Project

This is image of project is created.
The contents of the file pom.xml was created:
Do not worry about the error message when the Project has been created. The reason is that you do not declare the Servlet library.

Eclipse 4.4 (Luna) create Maven project structure may be wrong. You need to fix.

3- Search Jetty Maven Plugin version to use

Next we will find a version of "Jetty Maven Plugin" (fit or newest):

4- Configure and run Maven Project

Configure Maven Servlet Library
<!-- Servlet Library -->
<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>javax.servlet-api</artifactId>
   <version>3.1.0</version>
   <scope>provided</scope>
</dependency>
Copy and paste the following code into pom.xml
<plugins>
    <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.2.10.v20150310</version>
        
        <configuration>
            <scanIntervalSeconds>10</scanIntervalSeconds>
            <webApp>
                <contextPath>/SimpleMavenWebApp</contextPath>
            </webApp>
        </configuration>
        
    </plugin>
</plugins>
pom.xml
<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.o7planning</groupId>
    <artifactId>SimpleMavenWebApp</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>SimpleMavenWebApp Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <!-- Servlet Library -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>

    <build>
        <finalName>SimpleMavenWebApp</finalName>
        <plugins>
            
            <!-- http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-maven-plugin -->
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.2.10.v20150310</version>
                
                <configuration>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                    <webApp>
                        <contextPath>/SimpleMavenWebApp</contextPath>
                    </webApp>
                </configuration>
                
            </plugin>
        </plugins>
    </build>

</project>
Configure Project to run. Right-click on the Project select "Run As / Run Configurations ...".
Create a new run configuration
Enter the information as shown below, click Apply and click Run.
  • Name: Run SimpleMavenWebApp
  • Base directory: ${workspace_loc:/SimpleMavenWebApp}
  • Goals: jetty:run
In the first run, Eclipse will download "Jetty Maven Plugin", so you have to wait until the download is completed
Copy the link below to run on your browser
To rerun the WebApplication you will need to close the currently running application.
Run the application again

5- Run Maven Web Application in Tomcat Maven Plugin

You can see a similar guide: Run Maven Web Application in Tomcat Maven Plugin, at: