什么是Maven神器?
什么是神器,为什么Maven需要它?
工件是一个文件,通常是一个JAR,被部署到一个Maven仓库。
Maven构build产生一个或多个工件,例如编译的JAR和“源”JAR。
每个工件都有一个组ID(通常是一个颠倒的域名,如com.example.foo),一个工件ID(只是一个名字)和一个版本string。 三者一起唯一地识别神器。
项目的依赖关系被指定为工件。
在通常的软件术语中,“ 伪像 ”是软件开发过程产生的东西,无论是软件相关文档还是可执行文件。
在Maven术语中,工件是Maven构build的结果输出,通常是jar
或war
或其他可执行文件。 maven中的工件由groupId,artifactId和version的坐标系统标识。 Maven使用groupId
, artifactId
和version
来标识构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
只是一个由groupId
, artifactId
, version
, scope
, classifier
等部分组成的荣耀的名字。
把它放在一起:
- 你的Maven项目可能依赖于它的
<dependency>
元素。 - Maven与存储库pipe理器进行交互,通过指示存储库pipe理器向其发送与内部
Artifact
对应的一些存储库pipe理器工件,将这些Artifact
parsing为文件。 - 最后,在解决之后,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过程被安排为一组工件。 工件包括:
- 组成Maven的插件本身。
- 您的代码依赖的依赖关系。
- 任何你的构build产生的东西都可以被别的东西消耗掉。
工件存在于软件仓库中。
通常我们谈论关于组ID,工件ID和快照版本的Maven术语
组ID:项目组的身份工件Id:项目的标识Snapshot版本:项目使用的版本。
神器只是一些产生的文件,如jar子,战争,耳….
简单地说,神器只不过是包。