This article is participating in “Java Theme Month – Java Debug Notes Event”, see < Event link > for more details.

This article, the original problem: translate for stackoverflow question stackoverflow.com/questions/2…

Issue an overview

In Maven, what is an artifact? Why does Maven need this?

Best answer

Artifact is a file, usually a JAR file, that has been deployed to a Maven repository.

Maven builds generate one or more artifacts, such as compiled jars and “source” Jars.

Each artifact has a group ID (usually a reverse domain name, such as com.example.foo), an Artifact ID (just a name) and a version string.

Together, these three uniquely identify the artifact. The dependencies of the project are designated as artifacts.

Other answer

1.

In general software terms, an artifact is something that is produced by the software development process, whether it is a software-related document or an executable.

In Maven terminology, an artifact is the resulting output of a Maven build, usually a JAR or war or other executable. Artifacts in Maven are identified by coordinates for groupId, artifactId, and Version.

Maven uses groupId, Artifact Id, and Version to identify dependencies (usually other JAR files) needed to build and run code.

2.

I know this is an old topic, but I want to add some nuance. There are Mavenartifacts, repository manager artifacts, and then there are Mavenartifacts.

As other commenters/responders have said, Maven Artifact: This problem can be solved by building Maven projects. That could be a.jar file, a.war file, a.zip file, a.dll, or a file you own. A repository manager artifact is something that is well managed by a repository manager. Basically, the repository manager is a high-performance naming service for software executables and libraries.

The repository manager doesn’t care where the artifacts come from (maybe they come from Maven builds, local files, Ant builds or manual builds…). . Maven Artifact is a Java class that represents a “name” type dereferenced into a repository manager Artifact by the repository manager.

When used in this way, an artifact is just a glorified name that consists of parts such as groupId, artifactId, version, scope, classifier, etc.