Java 什么是Maven人工制品?
什么是工件?Maven为什么需要它?工件是一个罐子或存储在存储库中的东西。Maven获取它们并构建代码。对于Maven来说,构建过程被安排为一组工件。工件包括:Java 什么是Maven人工制品?,java,build,maven,Java,Build,Maven,什么是工件?Maven为什么需要它?工件是一个罐子或存储在存储库中的东西。Maven获取它们并构建代码。对于Maven来说,构建过程被安排为一组工件。工件包括: 构成Maven本身的插件 代码所依赖的依赖项 构建生成的任何东西都可能被其他东西消耗 工件存在于存储库中 在一般的软件术语中,“”是软件开发过程产生的东西,无论是软件相关文档还是可执行文件 在Maven术语中,工件是Maven构建的结果输出,通常是jar或war或其他可执行文件。maven中的工件由groupId、artifactId和
工件存在于存储库中 在一般的软件术语中,“”是软件开发过程产生的东西,无论是软件相关文档还是可执行文件
在Maven术语中,工件是Maven构建的结果输出,通常是
jar
或war
或其他可执行文件。maven中的工件由groupId、artifactId和version的坐标系标识。Maven使用groupId
、artifactId
和version
来识别构建和运行代码所需的依赖项(通常是其他jar文件)。工件是一个文件,通常是一个jar,部署到Maven存储库中
Maven构建生成一个或多个工件,例如编译的JAR和“源”JAR
每个工件都有一个组ID(通常是一个反向域名,如com.example.foo)、一个工件ID(只是一个名称)和一个版本字符串。这三者共同唯一地标识了工件
项目的依赖项被指定为工件。Maven组织其内置项目 maven中的
工件是由maven项目生成的资源。每个maven项目只能有一个工件
,比如jar、war、ear等
项目的配置文件“pom.xml”
描述了工件是如何构建的,单元测试是如何运行的,等等。
通常,使用maven构建的软件项目由许多maven项目组成,这些项目构建构成产品的工件(例如JAR)。
例如
Maven工件并不局限于java资源。您可以生成所需的任何资源。例如文件、项目现场、zip档案、本地图书馆等
每个maven项目都有一个唯一的标识符,由[groupId,artifactId,version]
组成。当一个maven项目需要另一个项目的资源时,将使用上述标识符在它的pom.xml
中配置依赖项。然后,Maven会在触发构建时自动解析依赖项。然后从本地存储库
(用户家中的一个简单目录)或从您pom.xml
中指定的其他(远程)存储库加载所需项目的工件。我知道这是一个古老的线程,但我想添加一些细微差别
有Maven工件、repository manager工件,还有Maven工件
Maven工件正如其他评论者/响应者所说:它是通过构建Maven项目而产生的。这可能是.jar
文件,或.war
文件,或.zip
文件,或.dll
,或您拥有的其他文件
存储库管理器工件是由存储库管理器管理的。存储库管理器基本上是软件可执行文件和库的高性能命名服务。存储库管理器不关心其工件来自何处(可能来自Maven构建、本地文件、Ant构建或手工编译…)
Maven工件
是一个Java类,它表示存储库管理器将其解引用到存储库管理器工件中的“名称”类型。在这个意义上使用时,工件
只是一个美化的名称,由groupId
、artifactId
、版本
、范围
、分类器
等部分组成
总而言之:
- 您的Maven项目可能通过其
元素依赖于多个工件
- Maven与存储库管理器交互,通过指示存储库管理器向其发送与内部
工件相对应的一些存储库管理器工件,将这些工件
解析为文件
- 最后,在解析之后,Maven构建您的项目并生成一个Maven工件。您可以选择“将其转化为”存储库管理器工件,然后使用您喜欢的任何工具,将其发送给存储库管理器,并提供足够的协调信息,以便其他人在向存储库管理器请求时可以找到
希望这能有所帮助。通常我们谈论的是关于组Id、工件Id和快照版本的Maven术语
组Id:项目组的标识
工件Id:项目的标识
快照版本:项目使用的版本
工件只是一些结果文件,比如Jar、War、Ear等等
简单地说工件就是包。Q.maven中的工件是什么?
答:神器是一个罐子(战争或耳朵),但它也可以是其他东西。每个工件都有,
- 组ID(如com.your.package)
- 工件ID(只是一个名称),以及
- 版本字符串
三者共同唯一地标识工件
Q.为什么Maven需要它们?
答:Maven用于使它们可用于我们的应用程序。通常,当您创建Java项目时,您希望使用其他Java项目中的功能。
例如,如果你的项目想要发送一封电子邮件,你不需要创建所有必要的代码。您可以使用一个java库来完成大部分工作。
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