Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

readme.md

Embedded Jetty web application

This project shows how to build a WAR-less Java web application with Jetty.

Only a single JVM is required to start the web app. No web container or JEE server is required.

Instead of building a war file, an auto-executable JAR file is built with Maven (ie. jetty-webapp-1.0.0-SNAPSHOT.jar)

This JAR contains all resources required by a web application: web.xml, index.jsp, images, js, css... The JettyServer class provides both a start and a stop method. Its main method starts the server. To stop it, you may use the Stop class.

Thanks to the Application Assembler Maven Plugin a start.sh and a stop.sh script are available.

All JAR dependencies are available in a lib\ sub-directory.

Try it

Download the code with git: git clone git://github.com/arey/embedded-jetty-webapp.git

Build and package the web application

cd embedded-jetty-webapp
mvn clean install

Start the web application

target/appassembler/bin/start.sh &

Stop the web application

target/appassembler/bin/stop.sh

Browse to http://localhost:8080/HelloWorld

Web port could be changed at startup:

target/appassembler/bin/start.sh 80 8090 &

Another possibility is to build a JAR that include all its dependencies (web app, jetty dependencies, logger, spring ...) :

mvn clean install -Pfatjar
java -jar target/jetty-webapp-1.0.0-SNAPSHOT-jar-with-dependencies.jar
java -cp target/jetty-webapp-1.0.0-SNAPSHOT-jar-with-dependencies.jar com.javaetmoi.jetty.Stop

Configuration rules

Compared to the Maven Standard Directory Layout of a WAR, the web application sources is not put into the src/main/webapp but into the src/main/resources/webapp. Thus the webapp resources are copied into the JAR in a webapp/ sub-directory.

Credits

About

WAR-less Java web application with Jetty

Resources

Releases

No releases published

Languages

You can’t perform that action at this time.