Package 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, Zip.Zip64ModeAttribute`

- ## 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 | Description
  --- | ---
  `War()` | Constructor for the War Task.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `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.
  `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, getModificationtime, getNonFileSetResourcesToAdd, getPreserve0Permissions, getResourcesToAdd, getUseLanguageEnodingFlag, getZip64Mode, 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, setModificationtime, setPreserve0Permissions, setRoundUp, setUpdate, setUseLanguageEncodingFlag, setZip64Mode, 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 Details

  - ### War

    public War()
    Constructor for the War Task.

- ## Method Details

  - ### setWarfile

    @Deprecated 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()`