public class JettyRunMojo extends AbstractJettyMojo
This goal is used in-situ on a Maven project without first requiring that the project is assembled into a war, saving time during the development cycle. The plugin forks a parallel lifecycle to ensure that the "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.
You may also specify the location of a jetty.xml file whose contents will be applied before any plugin configuration. This can be used, for example, to deploy a static webapp that is not part of your maven build.
There is a reference guide to the configuration parameters for this plugin.
Modifier and Type | Field and Description |
---|---|
protected File |
classesDirectory
The directory containing generated classes.
|
static String |
DEFAULT_WEBAPP_SRC |
protected List<File> |
extraScanTargets
Extra scan targets as a list
|
static String |
FAKE_WEBAPP |
protected ScanTargetPattern[] |
scanTargetPatterns
List of directories with ant-style <include> and <exclude> patterns
for extra targets to periodically scan for changes.
|
protected File[] |
scanTargets
List of files or directories to additionally periodically scan for changes.
|
protected File |
testClassesDirectory
The directory containing generated test classes.
|
protected boolean |
useTestScope
If true, the <testOutputDirectory>
and the dependencies of <scope>test<scope>
will be put first on the runtime classpath.
|
protected List<org.apache.maven.artifact.Artifact> |
warArtifacts
List of deps that are wars
|
protected WarPluginInfo |
warPluginInfo
maven-war-plugin reference
|
protected File |
webAppSourceDirectory
Root directory for all html/jsp etc files
|
protected String |
webXml
The default location of the web.xml file.
|
consoleScanner, contextHandlers, contextXml, dumpOnStart, excludedGoals, execution, httpConnector, jettyXml, loginServices, nonblocking, pluginArtifacts, PORT_SYSPROPERTY, project, projectArtifacts, reload, requestLog, scanIntervalSeconds, scanList, scanner, scannerListeners, server, skip, stopKey, stopPort, systemProperties, systemPropertiesFile, useProvidedScope, webApp
Constructor and Description |
---|
JettyRunMojo() |
Modifier and Type | Method and Description |
---|---|
void |
checkPomConfiguration()
Verify the configuration given in the pom.
|
void |
configureScanner() |
void |
configureWebApplication()
Subclasses should invoke this to setup basic info
on the webapp
|
void |
execute() |
void |
finishConfigurationBeforeStart() |
protected org.apache.maven.artifact.Artifact |
getArtifactForOverlay(OverlayConfig o,
List<org.apache.maven.artifact.Artifact> warArtifacts) |
void |
restartWebApp(boolean reconfigureScanner) |
applyJettyXml, configureMonitor, configurePluginClasspath, findJettyWebXmlFile, getJettyXmlFiles, isExcluded, isPluginArtifact, printSystemProperties, setSystemProperties, setSystemPropertiesFile, startConsoleScanner, startJetty
public static final String DEFAULT_WEBAPP_SRC
public static final String FAKE_WEBAPP
protected boolean useTestScope
protected String webXml
protected File classesDirectory
protected File testClassesDirectory
protected File webAppSourceDirectory
protected File[] scanTargets
protected ScanTargetPattern[] scanTargetPatterns
protected WarPluginInfo warPluginInfo
protected List<org.apache.maven.artifact.Artifact> warArtifacts
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
execute
in interface org.apache.maven.plugin.Mojo
execute
in class AbstractJettyMojo
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
AbstractJettyMojo.execute()
public void checkPomConfiguration() throws org.apache.maven.plugin.MojoExecutionException
checkPomConfiguration
in class AbstractJettyMojo
org.apache.maven.plugin.MojoExecutionException
AbstractJettyMojo.checkPomConfiguration()
public void finishConfigurationBeforeStart() throws Exception
finishConfigurationBeforeStart
in class AbstractJettyMojo
Exception
public void configureWebApplication() throws Exception
AbstractJettyMojo
configureWebApplication
in class AbstractJettyMojo
org.apache.maven.plugin.MojoExecutionException
Exception
AbstractJettyMojo.configureWebApplication()
public void configureScanner() throws org.apache.maven.plugin.MojoExecutionException
configureScanner
in class AbstractJettyMojo
org.apache.maven.plugin.MojoExecutionException
AbstractJettyMojo.configureScanner()
public void restartWebApp(boolean reconfigureScanner) throws Exception
restartWebApp
in class AbstractJettyMojo
Exception
AbstractJettyMojo.restartWebApp(boolean)
protected org.apache.maven.artifact.Artifact getArtifactForOverlay(OverlayConfig o, List<org.apache.maven.artifact.Artifact> warArtifacts)
o
- warArtifacts
- Copyright © 1995-2015 Webtide. All Rights Reserved.