Class Dependency

java.lang.Object
org.apache.maven.model.Dependency
All Implemented Interfaces:
Serializable

public class Dependency extends Object implements Serializable
The <dependency> element contains information about a dependency of the project.
Version:
$Revision$ $Date$
See Also:
  • Field Details

    • groupId

      private String groupId
      The project group that produced the dependency, e.g. org.apache.maven.
    • artifactId

      private String artifactId
      The unique id for an artifact produced by the project group, e.g. maven-artifact.
    • version

      private String version
      The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions.
    • type

      private String type
      The type of dependency. This defaults to jar. While it usually represents the extension on the filename of the dependency, that is not always the case. A type can be mapped to a different extension and a classifier. The type often correspongs to the packaging used, though this is also not always the case. Some examples are jar, war, ejb-client and test-jar. New types can be defined by plugins that set extensions to true, so this is not a complete list.
    • classifier

      private String classifier
      The classifier of the dependency. This allows distinguishing two artifacts that belong to the same POM but were built differently, and is appended to the filename after the version. For example, jdk14 and jdk15.
    • scope

      private String scope
      The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism.
    • systemPath

      private String systemPath
      FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}.
    • exclusions

      private List<Exclusion> exclusions
      Field exclusions.
    • optional

      private boolean optional
      Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively.
  • Constructor Details

    • Dependency

      public Dependency()
  • Method Details

    • addExclusion

      public void addExclusion(Exclusion exclusion)
      Method addExclusion.
      Parameters:
      exclusion -
    • getArtifactId

      public String getArtifactId()
      Get the unique id for an artifact produced by the project group, e.g. maven-artifact.
      Returns:
      String
    • getClassifier

      public String getClassifier()
      Get the classifier of the dependency. This allows distinguishing two artifacts that belong to the same POM but were built differently, and is appended to the filename after the version. For example, jdk14 and jdk15.
      Returns:
      String
    • getExclusions

      public List<Exclusion> getExclusions()
      Method getExclusions.
      Returns:
      List
    • getGroupId

      public String getGroupId()
      Get the project group that produced the dependency, e.g. org.apache.maven.
      Returns:
      String
    • getScope

      public String getScope()
      Get the scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism.
      Returns:
      String
    • getSystemPath

      public String getSystemPath()
      Get fOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}.
      Returns:
      String
    • getType

      public String getType()
      Get the type of dependency. This defaults to jar. While it usually represents the extension on the filename of the dependency, that is not always the case. A type can be mapped to a different extension and a classifier. The type often correspongs to the packaging used, though this is also not always the case. Some examples are jar, war, ejb-client and test-jar. New types can be defined by plugins that set extensions to true, so this is not a complete list.
      Returns:
      String
    • getVersion

      public String getVersion()
      Get the version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions.
      Returns:
      String
    • isOptional

      public boolean isOptional()
      Get indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively.
      Returns:
      boolean
    • removeExclusion

      public void removeExclusion(Exclusion exclusion)
      Method removeExclusion.
      Parameters:
      exclusion -
    • setArtifactId

      public void setArtifactId(String artifactId)
      Set the unique id for an artifact produced by the project group, e.g. maven-artifact.
      Parameters:
      artifactId -
    • setClassifier

      public void setClassifier(String classifier)
      Set the classifier of the dependency. This allows distinguishing two artifacts that belong to the same POM but were built differently, and is appended to the filename after the version. For example, jdk14 and jdk15.
      Parameters:
      classifier -
    • setExclusions

      public void setExclusions(List<Exclusion> exclusions)
      Set lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies.
      Parameters:
      exclusions -
    • setGroupId

      public void setGroupId(String groupId)
      Set the project group that produced the dependency, e.g. org.apache.maven.
      Parameters:
      groupId -
    • setOptional

      public void setOptional(boolean optional)
      Set indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively.
      Parameters:
      optional -
    • setScope

      public void setScope(String scope)
      Set the scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism.
      Parameters:
      scope -
    • setSystemPath

      public void setSystemPath(String systemPath)
      Set fOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}.
      Parameters:
      systemPath -
    • setType

      public void setType(String type)
      Set the type of dependency. This defaults to jar. While it usually represents the extension on the filename of the dependency, that is not always the case. A type can be mapped to a different extension and a classifier. The type often correspongs to the packaging used, though this is also not always the case. Some examples are jar, war, ejb-client and test-jar. New types can be defined by plugins that set extensions to true, so this is not a complete list.
      Parameters:
      type -
    • setVersion

      public void setVersion(String version)
      Set the version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions.
      Parameters:
      version -
    • toString

      public String toString()
      Overrides:
      toString in class Object
      See Also:
    • getManagementKey

      public String getManagementKey()
      Returns:
      the management key as groupId:artifactId:type