org.apache.tools.ant.taskdefs

## Class War

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.MatchingTask
      - - org.apache.tools.ant.taskdefs.Zip
        - - org.apache.tools.ant.taskdefs.Jar
          - - org.apache.tools.ant.taskdefs.War

All Implemented Interfaces:
  java.lang.Cloneable, SelectorContainer

    public class War
    extends Jar

An extension of <jar> to create a WAR archive. Contains special treatment for files that should end up in the `WEB-INF/lib`, `WEB-INF/classes` or `WEB-INF` directories of the Web Application Archive.

(The War task is a shortcut for specifying the particular layout of a WAR file. The same thing can be accomplished by using the prefix and fullpath attributes of zipfilesets in a Zip or Jar task.)

The extended zipfileset element from the zip task (with attributes prefix, fullpath, and src) is available in the War task.

Since:
  Ant 1.2
See Also:
  `Jar`

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.tools.ant.taskdefs.Jar

`Jar.FilesetManifestConfig, Jar.StrictMode`

### Nested classes/interfaces inherited from class org.apache.tools.ant.taskdefs.Zip

`Zip.ArchiveState, Zip.Duplicate, Zip.UnicodeExtraField, Zip.WhenEmpty`

### Field Summary

### Fields inherited from class org.apache.tools.ant.taskdefs.Zip

`addedDirs, archiveType, doubleFilePass, duplicate, emptyBehavior, entries, skipWriting, zipFile`

### Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask

`fileset`

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

### Constructor Summary

Constructors
Constructor and Description
`War()` Constructor for the War Task.

### Method Summary

Methods
`void` `addClasses(ZipFileSet fs)` add files under WEB-INF/classes
`void` `addLib(ZipFileSet fs)` add files under WEB-INF/lib/
`void` `addWebinf(ZipFileSet fs)` files to add under WEB-INF;
`protected void` `cleanUp()` Make sure we don't think we already have a web.xml next time this task gets executed.
`protected void` `initZipOutputStream(ZipOutputStream zOut)` override of parent; validates configuration before initializing the output stream.
`void` `setNeedxmlfile(boolean needxmlfile)` Set the policy on the web.xml file, that is, whether or not it is needed
`void` `setWarfile(java.io.File warFile)` Deprecated. since 1.5.x. Use setDestFile(File) instead
`void` `setWebxml(java.io.File descr)` set the deployment descriptor to use (WEB-INF/web.xml); required unless `update=true`
`protected void` `zipFile(java.io.File file, ZipOutputStream zOut, java.lang.String vPath, int mode)` Overridden from Zip class to deal with web.xml Here are cases that can arise -not a web.xml file : add -first web.xml : add, remember we added it -same web.xml again: skip -alternate web.xml : warn and skip

### Methods inherited from class org.apache.tools.ant.taskdefs.Jar

`addConfiguredIndexJars, addConfiguredManifest, addConfiguredService, addMetainf, createEmptyZip, finalizeZipOutputStream, findJarName, getResourcesToAdd, grabFilesAndDirs, reset, setFilesetmanifest, setFlattenAttributes, setIndex, setIndexMetaInf, setJarfile, setManifest, setManifestEncoding, setMergeClassPathAttributes, setStrict, setWhenempty, setWhenmanifestonly, writeIndexLikeList, zipFile`

### Methods inherited from class org.apache.tools.ant.taskdefs.Zip

`add, addFileset, addParentDirs, addResources, addResources, addZipfileset, addZipGroupFileset, execute, executeMain, getComment, getCreateUnicodeExtraFields, getCurrentExtraFields, getDestFile, getEncoding, getFallBackToUTF8, getLevel, getNonFileSetResourcesToAdd, getPreserve0Permissions, getResourcesToAdd, getUseLanguageEnodingFlag, grabNonFileSetResources, grabResources, hasUpdatedFile, isAddingNewFiles, isCompress, isEmpty, isFirstPass, isInUpdateMode, logWhenWriting, selectDirectoryResources, selectFileResources, selectResources, setBasedir, setComment, setCompress, setCreateUnicodeExtraFields, setCurrentExtraFields, setDestFile, setDuplicate, setEncoding, setFallBackToUTF8, setFile, setFilesonly, setKeepCompression, setLevel, setPreserve0Permissions, setRoundUp, setUpdate, setUseLanguageEncodingFlag, setZipfile, zipDir, zipDir, zipDir, zipFile`

### Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

`add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems`

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### War

    public War()

Constructor for the War Task.

### Method Detail

#### setWarfile

    public void setWarfile(java.io.File warFile)

Deprecated. since 1.5.x. Use setDestFile(File) instead
Deprecated name of the file to create -use `destfile` instead.

Parameters:
  `warFile` - the destination file

#### setWebxml

    public void setWebxml(java.io.File descr)

set the deployment descriptor to use (WEB-INF/web.xml); required unless `update=true`

Parameters:
  `descr` - the deployment descriptor file

#### setNeedxmlfile

    public void setNeedxmlfile(boolean needxmlfile)

Set the policy on the web.xml file, that is, whether or not it is needed

Parameters:
  `needxmlfile` - whether a web.xml file is needed. Default: true

#### addLib

    public void addLib(ZipFileSet fs)

add files under WEB-INF/lib/

Parameters:
  `fs` - the zip file set to add

#### addClasses

    public void addClasses(ZipFileSet fs)

add files under WEB-INF/classes

Parameters:
  `fs` - the zip file set to add

#### addWebinf

    public void addWebinf(ZipFileSet fs)

files to add under WEB-INF;

Parameters:
  `fs` - the zip file set to add

#### initZipOutputStream

    protected void initZipOutputStream(ZipOutputStream zOut)
                                throws java.io.IOException,
                                       BuildException

override of parent; validates configuration before initializing the output stream.

Overrides:
  `initZipOutputStream` in class `Jar`
Parameters:
  `zOut` - the zip output stream
Throws:
  `java.io.IOException` - on output error
  `BuildException` - if invalid configuration

#### zipFile

    protected void zipFile(java.io.File file,
               ZipOutputStream zOut,
               java.lang.String vPath,
               int mode)
                    throws java.io.IOException

Overridden from Zip class to deal with web.xml Here are cases that can arise -not a web.xml file : add -first web.xml : add, remember we added it -same web.xml again: skip -alternate web.xml : warn and skip

Overrides:
  `zipFile` in class `Zip`
Parameters:
  `file` - the file to add to the archive
  `zOut` - the stream to write to
  `vPath` - the name this entry shall have in the archive
  `mode` - the Unix permissions to set.
Throws:
  `java.io.IOException` - on output error

#### cleanUp

    protected void cleanUp()

Make sure we don't think we already have a web.xml next time this task gets executed.

Overrides:
  `cleanUp` in class `Jar`
See Also:
  `Zip.cleanUp()`