@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.File
protected java.io.File getTargetWarFile()
File
protected java.io.File getTargetClassesFile()
File
public java.lang.String getClassifier()
classifier
public void setClassifier(java.lang.String classifier)
classifier
- classifier
public java.lang.String[] getPackagingExcludes()
public void setPackagingExcludes(java.lang.String packagingExcludes)
packagingExcludes
- packagingExcludes
public java.lang.String[] getPackagingIncludes()
public void setPackagingIncludes(java.lang.String packagingIncludes)
packagingIncludes
- packagingIncludes
public java.lang.String getOutputDirectory()
outputDirectory
public void setOutputDirectory(java.lang.String outputDirectory)
outputDirectory
- outputDirectory
public java.lang.String getWarName()
warName
public void setWarName(java.lang.String warName)
warName
- warName
public org.codehaus.plexus.archiver.war.WarArchiver getWarArchiver()
warArchiver
public void setWarArchiver(org.codehaus.plexus.archiver.war.WarArchiver warArchiver)
warArchiver
- warArchiver
public org.apache.maven.project.MavenProjectHelper getProjectHelper()
projectHelper
public void setProjectHelper(org.apache.maven.project.MavenProjectHelper projectHelper)
projectHelper
- projectHelper
public boolean isPrimaryArtifact()
primaryArtifact
public void setPrimaryArtifact(boolean primaryArtifact)
primaryArtifact
- primaryArtifact
public boolean isAttachClasses()
attachClasses
public void setAttachClasses(boolean attachClasses)
attachClasses
- attachClasses
public java.lang.String getClassesClassifier()
classesClassifier
public void setClassesClassifier(java.lang.String classesClassifier)
classesClassifier
- classesClassifier
public boolean isFailOnMissingWebXml()
failOnMissingWebXml
public void setFailOnMissingWebXml(boolean failOnMissingWebXml)
failOnMissingWebXml
- failOnMissingWebXml
public boolean isSkip()