forked from fedora-java/howto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
jar_file_id_artifact.txt
24 lines (21 loc) · 1.18 KB
/
jar_file_id_artifact.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
==== Artifact specification
As noted in previous section, every artifact can be uniquely identified
by its file path. However this is not always the preferred way of
artifact identification.
Modern Java build systems provide a way of identifying artifacts with
an abstract identifier, or more often a pair of identifiers. The
first if usually called *group ID* or *organization ID* while the
second is just *artifact ID*. This pair of identifiers will be called
*artifact coordinates* in this document. Besides group ID and
artifact ID, artifact coordinates may also include other (optional)
information about artifact, such as *extension*, *classifier* or
*version*.
In Linux distributions it's important to stay close to upstreams
providing software being packaged, so the ability to identify
artifacts in the same way as upstream does is very important from the
point of view of packaging. Every artifact can optionally be
identified by artifact coordinates assigned during package build.
Packages built with Maven automatically use this feature, but all
other packages, even these built with pure `javac`, can use this
feature too (see description of `%mvn_artifact` and
`%add_maven_depmap` macros).