Java 什么是Maven人工制品?

Java 什么是Maven人工制品?,java,build,maven,Java,Build,Maven,什么是工件?Maven为什么需要它?工件是一个罐子或存储在存储库中的东西。Maven获取它们并构建代码。对于Maven来说,构建过程被安排为一组工件。工件包括: 构成Maven本身的插件 代码所依赖的依赖项 构建生成的任何东西都可能被其他东西消耗 工件存在于存储库中 在一般的软件术语中,“”是软件开发过程产生的东西,无论是软件相关文档还是可执行文件 在Maven术语中,工件是Maven构建的结果输出,通常是jar或war或其他可执行文件。maven中的工件由groupId、artifactId和

什么是工件?Maven为什么需要它?

工件是一个罐子或存储在存储库中的东西。Maven获取它们并构建代码。

对于Maven来说,构建过程被安排为一组工件。工件包括:

  • 构成Maven本身的插件
  • 代码所依赖的依赖项
  • 构建生成的任何东西都可能被其他东西消耗

  • 工件存在于存储库中

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


    在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