什么是人工制品,为什么Maven需要它?
maven-metadata.xml和的文件<artifactId>-<version>.pom。这些文件都具有一些未记录的架构和语义。
什么是人工制品,为什么Maven需要它?
maven-metadata.xml和的文件<artifactId>-<version>.pom。这些文件都具有一些未记录的架构和语义。
Answers:
工件是一个文件,通常是一个JAR文件,已被部署到Maven存储库。
Maven构建会生成一个或多个工件,例如已编译的JAR和“源” JAR。
每个工件都有一个组ID(通常是一个反向域名,例如com.example.foo),一个工件ID(只是一个名称)和一个版本字符串。这三个一起唯一地识别工件。
项目的依赖关系被指定为工件。
用一般的软件术语来说,“ 工件 ”是由软件开发过程产生的,无论是与软件有关的文档还是可执行文件。
在Maven的术语中,工件是所得的行家构建的输出,通常是jar或war或其他可执行文件。Maven中的工件由groupId,artifactId和version的坐标系标识。Maven使用groupId,artifactId以及version找出需要建立依赖关系(通常是其他jar文件),并运行代码。
我知道这是一个古老的话题,但我想补充一些细微之处。
有Maven工件,存储库管理器工件,然后还有Maven Artifact。
就像其他评论者/响应者所说的那样,Maven工件:通过构建Maven项目可以解决这个问题。那可能是一个.jar文件,或者一个文件,或者一个.war文件,或者一个.zip文件,或者.dll您拥有什么。
存储库管理器工件是由存储库管理器很好地管理的东西。基本上,存储库管理器是针对软件可执行文件和库的高性能命名服务。存储库管理器不在乎其工件来自何处(也许它们来自Maven构建,本地文件,Ant构建或手动编译...)。
Maven Artifact是Java类,它表示“名称”的类型,该名称由存储库管理器解引用到存储库管理器工件中。当在这个意义上使用的,Artifact就是这样的部件作为由一个荣耀的名字groupId,artifactId,version,scope,classifier等。
放在一起:
Artifact通过其<dependency>元素依赖于多个。Artifact通过指示存储库管理器向其发送一些与内部Artifacts 相对应的存储库管理器工件,与存储库管理器进行交互以将这些s 解析为文件。希望能有所帮助。
mvn install,人们会试图弄清楚该条目中要放什么。所以罐子的全名是输入什么-DartifactId=YOUR_ARTIFACT_ID,对吗?带有版本和.jar的完整jar文件名?似乎就是您在说的内容,但实际上可以帮助一些人。其他答案与此差不多,但我认为是您最好的。
Maven在项目中组织其构建。
一个artifact在Maven是由Maven项目生成的资源。每个maven项目都可以有一个artifact类似
的项目jar, war, ear,等等
。项目的配置文件"pom.xml"描述了构件的构建方式,单元测试的运行方式等。通常,使用maven构建的软件项目由许多构建构件的maven项目组成(例如jars)。 )构成产品。
例如
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使用上述标识符在其中配置依赖项。然后,当触发构建时,Maven自动解决依赖关系。然后,可以从本地repository(它是用户家中的简单目录)或您中指定的其他(远程)存储库中加载所需项目的工件pom.xml。
问:什么是Maven中的工件?
ANS:ARTIFACT是JAR(WAR或EAR),但也可能是其他东西。每个工件都有
问:为什么Maven需要它们?
回答:Maven用于使它们可用于我们的应用程序。
-DartifactId=YOUR_ARTIFACT_ID在运行mvn install时应该输入的内容,只是一个建议:)
为了行事,将构建过程安排为一组工件。工件包括:
工件存放在存储库中。