什么是Maven神器?

什么是神器,为什么Maven需要它?

工件是一个文件,通常是一个JAR,被部署到一个Maven仓库。

Maven构build产生一个或多个工件,例如编译的JAR和“源”JAR。

每个工件都有一个组ID(通常是一个颠倒的域名,如com.example.foo),一个工件ID(只是一个名字)和一个版本string。 三者一起唯一地识别神器。

项目的依赖关系被指定为工件。

在通常的软件术语中,“ 伪像 ”是软件开发过程产生的东西,无论是软件相关文档还是可执行文件。

在Maven术语中,工件是Maven构build的结果输出,通常是jarwar或其他可执行文件。 maven中的工件由groupId,artifactId和version的坐标系统标识。 Maven使用groupIdartifactIdversion来标识构build和运行代码所需的依赖关系(通常是其他jar文件)。

Maven在项目中组织它的构build。

maven中的artifact是由maven项目生成的资源。 每个Maven项目都可以有一个像jar, war, ear等物品。
项目的configuration文件"pom.xml"描述了构件是如何构build的,如何运行unit testing等。通常,使用maven构build的软件项目由许多构build产品的构件(例如jar子)的maven项目组成。
例如

 Root-Project // produces no artifact, simply triggers the build of the other projects App-Project // The application, that uses the libraries Lib1-Project // A project that creates a library (jar) Lib2-Project // Another library Doc-Project // A project that generates the user documentation from some resources 

Maven工件不限于java资源。 您可以生成所需的任何资源。 如文档,项目站点,zip档案,本地库等

每个maven项目都有一个唯一的标识符,包含[groupId, artifactId, version] 。 当一个Maven项目需要另一个项目的资源时,在它的pom.xml使用上面提到的标识符来configuration一个依赖项。 Maven会在构build触发时自动parsing依赖关系。 所需项目的构件将从本地repository (在用户家中是一个简单的目录)或从您在pom.xml指定的其他(远程)存储库加载。

我知道这是一个古老的线程,但我想添加一些细微差别。

有Maven工件,资源库pipe理器工件,然后有Maven Artifact

Maven工件就像其他评论者/响应者所说的那样:通过构build一个Maven项目是一件事情。 这可能是.jar文件, .war文件, .zip文件或.dll ,或者你有什么。

资源库pipe理器工件是由资源库pipe理器pipe理的。 资源库pipe理器基本上是一个高性能的软件可执行文件和库的命名服务。 版本库pipe理器不关心它的工件来自哪里(也许它们来自Maven构build,本地文件,或Ant构build,或者手工编译…)。

Maven Artifact是一个Java类,它代表了由版本库pipe理器取消引用到版本库pipe理器工件中的“名称”types。 从这个意义上讲,一个Artifact只是一个由groupIdartifactIdversionscopeclassifier等部分组成的荣耀的名字。

把它放在一起:

  • 你的Maven项目可能依赖于它的<dependency>元素。
  • Maven与存储库pipe理器进行交互,通过指示存储库pipe理器向其发送与内部Artifact对应的一些存储库pipe理器工件,将这些Artifactparsing为文件。
  • 最后,在解决之后,Maven将构build您的项目并生成一个Maven工件。 您可以select将其转换为资源库pipe理器工件,然后依次使用您喜欢的任何工具,将资源发送给资源库pipe理器,并提供足够的协调信息,其他人可以在向资源库pipe理器请求资源时find该信息。

希望有所帮助。

问:什么是神器在maven?
ANS:ARTIFACT是JAR(WAR或EAR),但也可能是其他的东西。 每件神器都有,

  • 一个组ID(如com.your.package),
  • 一个工件ID(只是一个名字),和
  • 一个版本string。
    三者一起唯一地识别神器。

Q.为什么Maven需要他们。
回答:Maven被用来使我们的应用程序可用。

简单的回答一个简单的问题:)

工件是JAR或者你存储在仓库中的东西。 Maven将它们取出并构build您的代码。

为了制作,构build过程被安排为一组工件。 工件包括:

  1. 组成Maven的插件本身。
  2. 您的代码依赖的依赖关系。
  3. 任何你的构build产生的东西都可以被别的东西消耗掉。

工件存在于软件仓库中。

通常我们谈论关于组ID,工件ID和快照版本的Maven术语

组ID:项目组的身份工件Id:项目的标识Snapshot版本:项目使用的版本。

神器只是一些产生的文件,如jar子,战争,耳….

简单地说,神器只不过是包。