Package org.apache.maven.model
Class Dependency
- java.lang.Object
-
- org.apache.maven.model.Dependency
-
- All Implemented Interfaces:
Serializable
,Cloneable
,InputLocationTracker
public class Dependency extends Object implements Serializable, Cloneable, InputLocationTracker
The<dependency>
element contains information about a dependency of the project.- Version:
- $Revision$ $Date$
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Dependency()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addExclusion(Exclusion exclusion)
Method addExclusion.void
clearManagementKey()
Clears the management key in case one field has been modified.Dependency
clone()
Method clone.String
getArtifactId()
Get the unique id for an artifact produced by the project group, e.g.String
getClassifier()
Get the classifier of the dependency.List<Exclusion>
getExclusions()
Method getExclusions.String
getGroupId()
Get the project group that produced the dependency, e.g.InputLocation
getLocation(Object key)
Gets the location of the specified field in the input source.String
getManagementKey()
String
getOptional()
Get indicates the dependency is optional for use of this library.String
getScope()
Get the scope of the dependency -compile
,runtime
,test
,system
, andprovided
.String
getSystemPath()
Get fOR SYSTEM SCOPE ONLY.String
getType()
Get the type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes.String
getVersion()
Get the version of the dependency, e.g.boolean
isOptional()
void
removeExclusion(Exclusion exclusion)
Method removeExclusion.void
setArtifactId(String artifactId)
Set the unique id for an artifact produced by the project group, e.g.void
setClassifier(String classifier)
Set the classifier of the dependency.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.void
setGroupId(String groupId)
Set the project group that produced the dependency, e.g.void
setLocation(Object key, InputLocation location)
Sets the location of the specified field.void
setOptional(boolean optional)
void
setOptional(String optional)
Set indicates the dependency is optional for use of this library.void
setOtherLocation(Object key, InputLocation location)
void
setScope(String scope)
Set the scope of the dependency -compile
,runtime
,test
,system
, andprovided
.void
setSystemPath(String systemPath)
Set fOR SYSTEM SCOPE ONLY.void
setType(String type)
Set the type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes.void
setVersion(String version)
Set the version of the dependency, e.g.String
toString()
-
-
-
Method Detail
-
addExclusion
public void addExclusion(Exclusion exclusion)
Method addExclusion.- Parameters:
exclusion
- a exclusion object.
-
clone
public Dependency clone()
Method clone.
-
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. It is appended to the filename after the version. This allows:- referring to attached artifact, for example
sources
andjavadoc
: see default artifact handlers for a list, - distinguishing two artifacts
that belong to the same POM but were built
differently.
For example,
jdk14
andjdk15
.
- Returns:
- String
- referring to attached artifact, for example
-
getGroupId
public String getGroupId()
Get the project group that produced the dependency, e.g.org.apache.maven
.- Returns:
- String
-
getLocation
public InputLocation getLocation(Object key)
Description copied from interface:InputLocationTracker
Gets the location of the specified field in the input source.- Specified by:
getLocation
in interfaceInputLocationTracker
- Parameters:
key
- a key object.- Returns:
- InputLocation
-
getOptional
public String getOptional()
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. Note: While the type of this field isString
for technical reasons, the semantic type is actuallyBoolean
. Default value isfalse
.- Returns:
- String
-
setLocation
public void setLocation(Object key, InputLocation location)
Description copied from interface:InputLocationTracker
Sets the location of the specified field.- Specified by:
setLocation
in interfaceInputLocationTracker
- Parameters:
key
- a key object.location
- a location object.
-
setOtherLocation
public void setOtherLocation(Object key, InputLocation location)
- Parameters:
key
- a key object.location
- a location object.
-
getScope
public String getScope()
Get the scope of the dependency -compile
,runtime
,test
,system
, andprovided
. 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. The default scope iscompile
.- 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, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples arejar
,war
,ejb-client
andtest-jar
: see default artifact handlers for a list. New types can be defined by extensions, 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
-
removeExclusion
public void removeExclusion(Exclusion exclusion)
Method removeExclusion.- Parameters:
exclusion
- a exclusion object.
-
setArtifactId
public void setArtifactId(String artifactId)
Set the unique id for an artifact produced by the project group, e.g.maven-artifact
.- Parameters:
artifactId
- a artifactId object.
-
setClassifier
public void setClassifier(String classifier)
Set the classifier of the dependency. It is appended to the filename after the version. This allows:- referring to attached artifact, for example
sources
andjavadoc
: see default artifact handlers for a list, - distinguishing two artifacts
that belong to the same POM but were built
differently.
For example,
jdk14
andjdk15
.
- Parameters:
classifier
- a classifier object.
- referring to attached artifact, for example
-
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
- a exclusions object.
-
setGroupId
public void setGroupId(String groupId)
Set the project group that produced the dependency, e.g.org.apache.maven
.- Parameters:
groupId
- a groupId object.
-
setOptional
public void setOptional(String 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. Note: While the type of this field isString
for technical reasons, the semantic type is actuallyBoolean
. Default value isfalse
.- Parameters:
optional
- a optional object.
-
setScope
public void setScope(String scope)
Set the scope of the dependency -compile
,runtime
,test
,system
, andprovided
. 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. The default scope iscompile
.- Parameters:
scope
- a scope object.
-
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
- a systemPath object.
-
setType
public void setType(String type)
Set the type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples arejar
,war
,ejb-client
andtest-jar
: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list.- Parameters:
type
- a type object.
-
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
- a version object.
-
isOptional
public boolean isOptional()
-
setOptional
public void setOptional(boolean optional)
-
toString
public String toString()
- Overrides:
toString
in classObject
- See Also:
Object.toString()
-
getManagementKey
public String getManagementKey()
- Returns:
- the management key as
groupId:artifactId:type
-
clearManagementKey
public void clearManagementKey()
Clears the management key in case one field has been modified.
-
-