# Class Ear

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.api.internal.ConventionTask
org.gradle.api.tasks.AbstractCopyTask
org.gradle.api.tasks.bundling.AbstractArchiveTask
org.gradle.api.tasks.bundling.Zip
org.gradle.jvm.tasks.Jar
org.gradle.api.tasks.bundling.Jar
org.gradle.plugins.ear.Ear

All Implemented Interfaces:
  `Comparable<Task>, ContentFilterable, CopyProcessingSpec, CopySourceSpec, CopySpec, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.file.copy.CopySpecSource, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Task, PatternFilterable, Configurable<Task>`

@DisableCachingByDefault(because="Not worth caching") public abstract class Ear extends Jar
Assembles an EAR archive.

Since:
  1.0

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `EAR_EXTENSION`
  The ear extension.

  ### Fields inherited from class Jar

  `DEFAULT_EXTENSION`

  ### Fields inherited from class Zip

  `ZIP_EXTENSION`

  ### Fields inherited from interface Task

  `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Ear()`
  Creates a new `Ear`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Ear`
  `deploymentDescriptor(Closure configureClosure)`
  Configures the deployment descriptor for this EAR archive.
  `Ear`
  `deploymentDescriptor(Action<? super DeploymentDescriptor> configureAction)`
  Configures the deployment descriptor for this EAR archive.
  `abstract DirectoryProperty`
  `getAppDirectory()`
  The application directory.
  `DeploymentDescriptor`
  `getDeploymentDescriptor()`
  The deployment descriptor configuration.
  `abstract Property<Boolean>`
  `getGenerateDeploymentDescriptor()`
  Should deploymentDescriptor be generated?
  `CopySpec`
  `getLib()`
  A location for dependency libraries to include in the 'lib' directory of the EAR archive.
  `@Nullable String`
  `getLibDirName()`
  The name of the library directory in the EAR file.
  `protected abstract ObjectFactory`
  `getObjectFactory()`
  `CopySpec`
  `lib(Closure configureClosure)`
  Adds dependency libraries to include in the 'lib' directory of the EAR archive.
  `CopySpec`
  `lib(Action<? super CopySpec> configureAction)`
  Adds dependency libraries to include in the 'lib' directory of the EAR archive.
  `void`
  `setDeploymentDescriptor(DeploymentDescriptor deploymentDescriptor)`
  Sets the deployment descriptor.
  `void`
  `setLibDirName(@Nullable String libDirName)`
  Sets the lib dir name.

  ### Methods inherited from class Jar

  `manifest`

  ### Methods inherited from class Jar

  `getManifest, getManifestContentCharset, getMetadataCharset, getMetaInf, manifest, metaInf, metaInf, setManifest, setManifestContentCharset, setMetadataCharset`

  ### Methods inherited from class Zip

  `createCopyAction, getCompressor, getEntryCompression, isZip64, setEntryCompression, setZip64`

  ### Methods inherited from class AbstractArchiveTask

  `createCopyActionExecuter, getArchiveAppendix, getArchiveBaseName, getArchiveClassifier, getArchiveExtension, getArchiveFile, getArchiveFileName, getArchiveVersion, getDestinationDirectory, getFileSystemOperations, getReproducibleFileTimestamp, into, into, into, isPreserveFileTimestamps, isReproducibleFileOrder, setPreserveFileTimestamps, setReproducibleFileOrder, useFileSystemPermissions`

  ### Methods inherited from class AbstractCopyTask

  `copy, createRootSpec, dirPermissions, eachFile, eachFile, exclude, exclude, exclude, exclude, expand, expand, filePermissions, filesMatching, filesMatching, filesNotMatching, filesNotMatching, filter, filter, filter, filter, from, from, from, getDirectoryFileTreeFactory, getDirPermissions, getDocumentationRegistry, getDuplicatesStrategy, getExcludes, getFileLookup, getFilePermissions, getFileResolver, getFileSystem, getFilteringCharset, getIncludeEmptyDirs, getIncludes, getInstantiator, getMainSpec, getPropertyFactory, getRootSpec, getSource, include, include, include, include, isCaseSensitive, rename, rename, rename, rename, setCaseSensitive, setDuplicatesStrategy, setExcludes, setFilteringCharset, setIncludeEmptyDirs, setIncludes, with`

  ### Methods inherited from class org.gradle.api.internal.ConventionTask

  `conventionMapping, conventionMapping, getConventionMapping`

  ### Methods inherited from class DefaultTask

  `compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

  ### Methods inherited from class org.gradle.api.internal.AbstractTask

  `acceptServiceReferences, appendParallelSafeAction, doNotTrackState, doNotTrackStateIf, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getLoggingManager, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, service, setImpliesSubProjects`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Task

  `doNotTrackState, notCompatibleWithConfigurationCache, service`

- ## Field Details

  - ### EAR_EXTENSION

    public static final String EAR_EXTENSION
    The ear extension.
    Since:
      1.0
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Ear

    public Ear()
    Creates a new `Ear`.
    Since:
      1.0

- ## Method Details

  - ### getObjectFactory

    @Inject protected abstract ObjectFactory getObjectFactory()
    Specified by:
      `getObjectFactory` in class `AbstractCopyTask`

  - ### deploymentDescriptor

    public Ear deploymentDescriptor(@DelegatesTo(value=DeploymentDescriptor.class,strategy=1) Closure configureClosure)
    Configures the deployment descriptor for this EAR archive.

    The given closure is executed to configure the deployment descriptor. The `DeploymentDescriptor` is passed to the closure as its delegate.

    Parameters:
      `configureClosure` - The closure.
    Returns:
      This.
    Since:
      1.0

  - ### deploymentDescriptor

    public Ear deploymentDescriptor(Action<? super DeploymentDescriptor> configureAction)
    Configures the deployment descriptor for this EAR archive.

    The given action is executed to configure the deployment descriptor.

    Parameters:
      `configureAction` - The action.
    Returns:
      This.
    Since:
      3.5

  - ### getLib

    @Internal public CopySpec getLib()
    A location for dependency libraries to include in the 'lib' directory of the EAR archive.
    Since:
      1.0

  - ### lib

    public CopySpec lib(@DelegatesTo(value=CopySpec.class,strategy=1) Closure configureClosure)
    Adds dependency libraries to include in the 'lib' directory of the EAR archive.

    The given closure is executed to configure a `CopySpec`. The `CopySpec` is passed to the closure as its delegate.

    Parameters:
      `configureClosure` - The closure.
    Returns:
      The created `CopySpec`
    Since:
      1.0

  - ### lib

    public CopySpec lib(Action<? super CopySpec> configureAction)
    Adds dependency libraries to include in the 'lib' directory of the EAR archive.

    The given action is executed to configure a `CopySpec`.

    Parameters:
      `configureAction` - The action.
    Returns:
      The created `CopySpec`
    Since:
      3.5

  - ### getLibDirName

    @Optional @Input public @Nullable String getLibDirName()
    The name of the library directory in the EAR file. Default is "lib".
    Since:
      1.0

  - ### setLibDirName

    public void setLibDirName(@Nullable String libDirName)
    Sets the lib dir name.
    Since:
      1.0

  - ### getGenerateDeploymentDescriptor

    @Input public abstract Property<Boolean> getGenerateDeploymentDescriptor()
    Should deploymentDescriptor be generated?
    Since:
      6.0

  - ### getDeploymentDescriptor

    @Internal public DeploymentDescriptor getDeploymentDescriptor()
    The deployment descriptor configuration.
    Since:
      1.0

  - ### setDeploymentDescriptor

    public void setDeploymentDescriptor(DeploymentDescriptor deploymentDescriptor)
    Sets the deployment descriptor.
    Since:
      1.0

  - ### getAppDirectory

    @Internal public abstract DirectoryProperty getAppDirectory()
    The application directory. Added to the produced archive by default.

    The `ear` plugin sets the default value for all `Ear` tasks to `src/main/application`.

    Note, that if the `ear` plugin is not applied then this property is ignored.

    Since:
      7.1