Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Jetty/Howto/Deploy Web Applications
Contents
Introduction
Jetty can deploy web applications as war files (packed or unpacked), as provided or with overridden configuration, with static or hot deployment.
Webapps Deployment
The $JETTY_HOME/webapps directory is scanned at startup for webapplications to deploy:
- The file foo.war will be deployed as a webapp at context /foo
- The directory foo/ will be deployed at context /foo. If the directory has a WEB-INF subdirectory, it will be treated as servlet webapp, otherwise it will served only as static content.
- If both a foo.war and a foo/ directory exists, then the one with the most recent last-modified date is used.
- If the webapp is called root.war or the directory is called root/ then it will be deployed at the / context.
Webapp deployment was controlled the WebAppDeployer class. From 7.0.2 onwards this has been replaced by the WebAppProvider of the DeploymentManager.
See also older (but mostly relevant) Jetty-6 WebAppDeployer documentation.
Contexts Deployment
The $JETTY_HOME/contexts directory is scanned at runtime for context.xml files, that describe either:
- a standard war file (or directory), plus additional configuration.
- a custom jetty context.
Webapp deployment was controlled the ContextDeployer class. From 7.0.2 onwards this has been replaced by the ContextProvider of the DeploymentManager.
See also older (but mostly relevant) Jetty-6 ContextDeployer documentation. }}
Jetty Maven Plugin
If you develop your web application as a maven project, then it can be deployed in jetty with "mvn jetty:run" using the Jetty Maven Plugin