org.apache.tools.ant.taskdefs
Class War

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.MatchingTask
              extended by org.apache.tools.ant.taskdefs.Zip
                  extended by org.apache.tools.ant.taskdefs.Jar
                      extended by 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
 
Nested classes/interfaces inherited from class org.apache.tools.ant.taskdefs.Zip
Zip.ArchiveState, Zip.Duplicate, Zip.WhenEmpty
 
Field Summary
 
Fields inherited from class org.apache.tools.ant.taskdefs.Jar
emptyBehavior
 
Fields inherited from class org.apache.tools.ant.taskdefs.Zip
addedDirs, archiveType, doubleFilePass, duplicate, 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
War()
          Constructor for the War Task.
 
Method Summary
 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, setIndex, setJarfile, setManifest, setManifestEncoding, setWhenempty, setWhenmanifestonly, writeIndexLikeList, zipFile
 
Methods inherited from class org.apache.tools.ant.taskdefs.Zip
add, addFileset, addParentDirs, addResources, addResources, addZipfileset, addZipGroupFileset, execute, executeMain, getComment, getDestFile, getEncoding, getLevel, getNonFileSetResourcesToAdd, getResourcesToAdd, grabNonFileSetResources, grabResources, isAddingNewFiles, isCompress, isEmpty, isInUpdateMode, selectFileResources, setBasedir, setComment, setCompress, setDestFile, setDuplicate, setEncoding, setFile, setFilesonly, setKeepCompression, setLevel, setRoundUp, setUpdate, setZipfile, zipDir, zipDir
 
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()