Class JettyRunMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
The plugin runs a parallel lifecycle to ensure that the "test-compile" phase has been completed before invoking Jetty. This means that you do not need to explicity execute a "mvn compile" first. It also means that a "mvn clean jetty:run" will ensure that a full fresh compile is done before invoking Jetty.
Once invoked, the plugin can be configured to run continuously, scanning for changes in the project and automatically performing a hot redeploy when necessary. This allows the developer to concentrate on coding changes to the project using their IDE of choice and have those changes immediately and transparently reflected in the running web container, eliminating development time that is wasted on rebuilding, reassembling and redeploying. Alternatively, you can configure the plugin to wait for an <enter> at the command line to manually control redeployment.
You can configure this goal to run your unassembled webapp either in-process with maven, or forked into a new process, or deployed into a jetty distribution.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.maven.plugin.AbstractWebAppMojo
AbstractWebAppMojo.DeploymentMode
-
Field Summary
Modifier and TypeFieldDescriptionprotected JettyEmbedder
Only one of the following will be used, depending the mode the mojo is started in: EMBED, FORK, EXTERNALprotected JettyForker
protected JettyHomeForker
protected int
Controls redeployment of the webapp.protected Scanner
Scanner to check for files changes to cause redeployFields inherited from class org.eclipse.jetty.maven.plugin.AbstractUnassembledWebAppMojo
classesDirectory, scanClassesPattern, scanTestClassesPattern, testClassesDirectory, webAppSourceDirectory, webXml
Fields inherited from class org.eclipse.jetty.maven.plugin.AbstractWebAppMojo
contextHandlers, contextXml, deployMode, env, excludedGoals, execution, FAKE_WEBAPP, forkWebXml, httpConnector, JETTY_HOME_ARTIFACTID, JETTY_HOME_GROUPID, jettyBase, jettyHome, jettyOptions, jettyProperties, jettyXmls, jvmArgs, loginServices, mavenProjectHelper, maxChildStartCheckMs, maxChildStartChecks, mergedSystemProperties, modules, originalBaseResource, plugin, pluginArtifacts, project, projectArtifacts, providedJars, reactorProjects, requestLog, scanTargetPatterns, server, skip, stopKey, stopPort, supportedPackagings, systemProperties, systemPropertiesFile, target, useProvidedScope, useTestScope, warArtifacts, webApp
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
void
execute()
void
void
restartWebApp
(boolean reconfigure) Stop an executing webapp and restart it after optionally reconfiguring it.void
void
void
Methods inherited from class org.eclipse.jetty.maven.plugin.AbstractUnassembledWebAppMojo
configureUnassembledWebApp, configureWebApp, getWebInfLibArtifacts, verifyPomConfiguration
Methods inherited from class org.eclipse.jetty.maven.plugin.AbstractWebAppMojo
augmentPluginClasspath, configureScanTargetPatterns, configureSystemProperties, findJettyWebXmlFile, getContainerClassPath, getJettyOutputFile, getProjectName, getProvidedJars, isExcludedGoal, isPackagingSupported, isPluginArtifact, mergeSystemProperties, newJettyEmbedder, newJettyForker, newJettyHomeForker, startJetty
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
scan
@Parameter(defaultValue="-1", property="jetty.scan", required=true) protected int scanControls redeployment of the webapp.- -1 : means no redeployment will be done
- 0 : means redeployment only occurs if you hit the ENTER key
- otherwise, the interval in seconds to pause before checking and redeploying if necessary
-
scanner
Scanner to check for files changes to cause redeploy -
embedder
Only one of the following will be used, depending the mode the mojo is started in: EMBED, FORK, EXTERNAL -
forker
-
homeForker
-
-
Constructor Details
-
JettyRunMojo
public JettyRunMojo()
-
-
Method Details
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Specified by:
execute
in interfaceorg.apache.maven.plugin.Mojo
- Overrides:
execute
in classAbstractWebAppMojo
- Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-
startJettyEmbedded
public void startJettyEmbedded() throws org.apache.maven.plugin.MojoExecutionException- Specified by:
startJettyEmbedded
in classAbstractWebAppMojo
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
startJettyForked
public void startJettyForked() throws org.apache.maven.plugin.MojoExecutionException- Specified by:
startJettyForked
in classAbstractWebAppMojo
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
startJettyHome
public void startJettyHome() throws org.apache.maven.plugin.MojoExecutionException- Specified by:
startJettyHome
in classAbstractWebAppMojo
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
configureScanner
protected void configureScanner() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
gatherScannables
- Throws:
Exception
-
restartWebApp
Stop an executing webapp and restart it after optionally reconfiguring it.- Parameters:
reconfigure
- if true, the scanner will be reconfigured after changes to the pom. If false, only the webapp will be reconfigured.- Throws:
Exception
-