@Mojo(name="war",
defaultPhase=PACKAGE,
threadSafe=true,
requiresDependencyResolution=COMPILE_PLUS_RUNTIME)
public class WarMojo
extends AbstractWarMojo
| Modifier and Type | Field and Description |
|---|---|
private boolean |
attachClasses
Whether classes (that is the content of the WEB-INF/classes directory) should be attached to the project as an
additional artifact.
|
private java.lang.String |
classesClassifier
The classifier to use for the attached classes artifact.
|
private java.lang.String |
classifier
Classifier to add to the generated WAR.
|
private java.lang.Boolean |
failOnMissingWebXml
Whether or not to fail the build if the
web.xml file is missing. |
private java.lang.String |
outputDirectory
The directory for the generated WAR.
|
private java.lang.String |
packagingExcludes
The comma separated list of tokens to exclude from the WAR before packaging.
|
private java.lang.String |
packagingIncludes
The comma separated list of tokens to include in the WAR before packaging.
|
private boolean |
primaryArtifact
Whether this is the main artifact being built.
|
private org.apache.maven.project.MavenProjectHelper |
projectHelper |
private boolean |
skip
You can skip the execution of the plugin if you need to.
|
private org.codehaus.plexus.archiver.war.WarArchiver |
warArchiver
The WAR archiver.
|
private java.lang.String |
warName
The name of the generated WAR.
|
escapeString| Constructor and Description |
|---|
WarMojo() |
| Modifier and Type | Method and Description |
|---|---|
void |
execute()
Executes the WarMojo on the current project.
|
java.lang.String |
getClassesClassifier() |
java.lang.String |
getClassifier() |
java.lang.String |
getOutputDirectory() |
java.lang.String[] |
getPackagingExcludes() |
java.lang.String[] |
getPackagingIncludes() |
org.apache.maven.project.MavenProjectHelper |
getProjectHelper() |
protected java.io.File |
getTargetClassesFile() |
protected static java.io.File |
getTargetFile(java.io.File basedir,
java.lang.String finalName,
java.lang.String classifier,
java.lang.String type) |
protected java.io.File |
getTargetWarFile() |
org.codehaus.plexus.archiver.war.WarArchiver |
getWarArchiver() |
java.lang.String |
getWarName() |
boolean |
isAttachClasses() |
boolean |
isFailOnMissingWebXml() |
boolean |
isPrimaryArtifact() |
private boolean |
isProjectUsingAtLeastServlet30()
Determines if the current Maven project being built uses the Servlet 3.0 API (JSR 315).
|
boolean |
isSkip() |
private void |
performPackaging(java.io.File warFile)
Generates the webapp according to the mode attribute.
|
void |
setAttachClasses(boolean attachClasses) |
void |
setClassesClassifier(java.lang.String classesClassifier) |
void |
setClassifier(java.lang.String classifier) |
void |
setFailOnMissingWebXml(boolean failOnMissingWebXml) |
void |
setOutputDirectory(java.lang.String outputDirectory) |
void |
setPackagingExcludes(java.lang.String packagingExcludes) |
void |
setPackagingIncludes(java.lang.String packagingIncludes) |
void |
setPrimaryArtifact(boolean primaryArtifact) |
void |
setProjectHelper(org.apache.maven.project.MavenProjectHelper projectHelper) |
void |
setWarArchiver(org.codehaus.plexus.archiver.war.WarArchiver warArchiver) |
void |
setWarName(java.lang.String warName) |
addOverlay, buildExplodedWebapp, buildWebapp, getArchive, getArtifactFactory, getCacheFile, getClassesDirectory, getContainerConfigXML, getCurrentProjectOverlay, getDependentWarExcludes, getDependentWarIncludes, getExcludes, getFilters, getIncludes, getJarArchiver, getNonFilteredFileExtensions, getOutputFileNameMapping, getOverlays, getProject, getSession, getWarSourceDirectory, getWarSourceExcludes, getWarSourceIncludes, getWebappDirectory, getWebResources, getWebXml, getWorkDirectory, isArchiveClasses, isIncludeEmptyDirectories, isRecompressZippedFiles, isUseCache, setArchiveClasses, setArtifactFactory, setCacheFile, setClassesDirectory, setContainerConfigXML, setFilters, setJarArchiver, setNonFilteredFileExtensions, setOutputFileNameMapping, setOverlays, setProject, setUseCache, setWarSourceDirectory, setWarSourceExcludes, setWarSourceIncludes, setWebappDirectory, setWebResources, setWebXml, setWorkDirectory@Parameter(defaultValue="${project.build.directory}",
required=true)
private java.lang.String outputDirectory
@Parameter(defaultValue="${project.build.finalName}",
required=true,
readonly=true)
private java.lang.String warName
@Parameter private java.lang.String classifier
@Parameter private java.lang.String packagingExcludes
@Parameter private java.lang.String packagingIncludes
@Component(role=org.codehaus.plexus.archiver.Archiver.class,
hint="war")
private org.codehaus.plexus.archiver.war.WarArchiver warArchiver
@Component private org.apache.maven.project.MavenProjectHelper projectHelper
@Parameter(defaultValue="true") private boolean primaryArtifact
false if you don't want to install or deploy
it to the local repository instead of the default one in an execution.@Parameter private java.lang.Boolean failOnMissingWebXml
web.xml file is missing. Set to false if you
want your WAR built without a web.xml file. This may be useful if you are building an overlay that
has no web.xml file.
Starting with 3.1.0, this property defaults to false if the project depends on the Servlet
3.0 API or newer.
@Parameter(defaultValue="false") private boolean attachClasses
By default the classifier for the additional artifact is 'classes'. You can change it with the
someclassifier]]> parameter.
If this parameter true, another project can depend on the classes by writing something like:
myGroup myArtifact myVersion classes ]]>
@Parameter(defaultValue="classes") private java.lang.String classesClassifier
@Parameter(property="maven.war.skip",
defaultValue="false")
private boolean skip
public void execute()
throws org.apache.maven.plugin.MojoExecutionException,
org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoExecutionException - if an error occurred while building the webapporg.apache.maven.plugin.MojoFailureException - if an error.private void performPackaging(java.io.File warFile)
throws java.io.IOException,
org.codehaus.plexus.archiver.jar.ManifestException,
org.apache.maven.artifact.DependencyResolutionRequiredException,
org.apache.maven.plugin.MojoExecutionException,
org.apache.maven.plugin.MojoFailureException
warFile - the target WAR filejava.io.IOException - if an error occurred while copying filesorg.codehaus.plexus.archiver.ArchiverException - if the archive could not be createdorg.codehaus.plexus.archiver.jar.ManifestException - if the manifest could not be createdorg.apache.maven.artifact.DependencyResolutionRequiredException - if an error occurred while resolving the dependenciesorg.apache.maven.plugin.MojoExecutionException - if the execution failedorg.apache.maven.plugin.MojoFailureException - if a fatal exception occurredprivate boolean isProjectUsingAtLeastServlet30()
throws org.apache.maven.artifact.DependencyResolutionRequiredException,
java.net.MalformedURLException
web.xml file can be omitted.
This is done by checking if the interface javax.servlet.annotation.WebServlet is in the compile-time
dependencies (which includes provided dependencies) of the Maven project.
true if the project being built depends on Servlet 3.0 API, false otherwise.org.apache.maven.artifact.DependencyResolutionRequiredException - if the compile elements can't be resolved.java.net.MalformedURLException - if the path to a dependency file can't be transformed to a URL.protected static java.io.File getTargetFile(java.io.File basedir,
java.lang.String finalName,
java.lang.String classifier,
java.lang.String type)
basedir - The basedirfinalName - The finalNameclassifier - The classifier.type - The type.Fileprotected java.io.File getTargetWarFile()
Fileprotected java.io.File getTargetClassesFile()
Filepublic java.lang.String getClassifier()
classifierpublic void setClassifier(java.lang.String classifier)
classifier - classifierpublic java.lang.String[] getPackagingExcludes()
public void setPackagingExcludes(java.lang.String packagingExcludes)
packagingExcludes - packagingExcludespublic java.lang.String[] getPackagingIncludes()
public void setPackagingIncludes(java.lang.String packagingIncludes)
packagingIncludes - packagingIncludespublic java.lang.String getOutputDirectory()
outputDirectorypublic void setOutputDirectory(java.lang.String outputDirectory)
outputDirectory - outputDirectorypublic java.lang.String getWarName()
warNamepublic void setWarName(java.lang.String warName)
warName - warNamepublic org.codehaus.plexus.archiver.war.WarArchiver getWarArchiver()
warArchiverpublic void setWarArchiver(org.codehaus.plexus.archiver.war.WarArchiver warArchiver)
warArchiver - warArchiverpublic org.apache.maven.project.MavenProjectHelper getProjectHelper()
projectHelperpublic void setProjectHelper(org.apache.maven.project.MavenProjectHelper projectHelper)
projectHelper - projectHelperpublic boolean isPrimaryArtifact()
primaryArtifactpublic void setPrimaryArtifact(boolean primaryArtifact)
primaryArtifact - primaryArtifactpublic boolean isAttachClasses()
attachClassespublic void setAttachClasses(boolean attachClasses)
attachClasses - attachClassespublic java.lang.String getClassesClassifier()
classesClassifierpublic void setClassesClassifier(java.lang.String classesClassifier)
classesClassifier - classesClassifierpublic boolean isFailOnMissingWebXml()
failOnMissingWebXmlpublic void setFailOnMissingWebXml(boolean failOnMissingWebXml)
failOnMissingWebXml - failOnMissingWebXmlpublic boolean isSkip()