热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

什么是Maven神器?

本文翻译自:WhatisaMavenartifact?什么是神器?为什么Maven需要它?#1楼参考:https:sta

本文翻译自:What is a Maven artifact?

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




#1楼

参考:https://stackoom.com/question/AR6j/什么是Maven神器




#2楼

I know this is an ancient thread but I wanted to add a few nuances. 我知道这是一个古老的线索,但我想添加一些细微差别。

There are Maven artifacts, repository manager artifacts and then there are Maven Artifact s. 有Maven工件,存储库管理器工件,然后有Maven Artifact

A Maven artifact is just as other commenters/responders say: it is a thing that is spat out by building a Maven project. Maven工件正如其他评论者/响应者所说的那样:通过构建Maven项目来实现这一点。 That could be a .jar file, or a .war file, or a .zip file, or a .dll , or what have you. 这可能是.jar文件, .war文件, .zip文件,或.dll ,或者你有什么。

A repository manager artifact is a thing that is, well, managed by a repository manager. 存储库管理器工件是由存储库管理器管理的。 A repository manager is basically a highly performant naming service for software executables and libraries. 存储库管理器基本上是软件可执行文件和库的高性能命名服务。 A repository manager doesn't care where its artifacts come from (maybe they came from a Maven build, or a local file, or an Ant build, or a by-hand compilation...). 存储库管理器不关心其工件的来源(可能来自Maven构建,本地文件,Ant构建或手工编译......)。

A Maven Artifact is a Java class that represents the kind of "name" that gets dereferenced by a repository manager into a repository manager artifact. Maven Artifact是一个Java类,它表示由存储库管理器取消引用到存储库管理器工件中的“名称”类型。 When used in this sense, an Artifact is just a glorified name made up of such parts as groupId , artifactId , version , scope , classifier and so on. 在这个意义上使用时, Artifact只是一个美化的名称,由groupId , artifactId , version , scope , classifier等部分组成。

To put it all together: 把它们放在一起:


  • Your Maven project probably depends on several Artifact s by way of its elements. 您的Maven项目可能通过其元素依赖于几个Artifact
  • Maven interacts with a repository manager to resolve those Artifact s into files by instructing the repository manager to send it some repository manager artifacts that correspond to the internal Artifact s. Maven与存储库管理器交互,通过指示存储库管理器向其发送一些与内部Artifact对应的存储库管理器工件,将这些Artifact解析为文件。
  • Finally, after resolution, Maven builds your project and produces a Maven artifact. 最后,在解决之后,Maven构建您的项目并生成Maven工件。 You may choose to "turn this into" a repository manager artifact by, in turn, using whatever tool you like, sending it to the repository manager with enough coordinating information that other people can find it when they ask the repository manager for it. 您可以选择“把它变成”由仓库管理器神器,反过来,用你喜欢的任何工具,它有足够的协调信息,其他人可以找到它当他们问仓库管理员将数据发送到存储库管理。

Hope that helps. 希望有所帮助。




#3楼

An artifact is a JAR or something that you store in a repository. 工件是JAR或存储在存储库中的东西。 Maven gets them out and builds your code. Maven将它们取出并构建您的代码。




#4楼

To maven, the build process is arranged as a set of artifacts. 对于maven,构建过程被安排为一组工件。 Artifacts include: 文物包括:


  1. The plugins that make up Maven itself. 构成Maven的插件本身。
  2. Dependencies that your code depends on. 代码所依赖的依赖关系。
  3. Anything that your build produces that can, in turn be consumed by something else. 构建产生的任何东西都可以被其他东西消耗掉。

Artifacts live in repositories. 工件存放在存储库中。




#5楼

In general software terms, an " artifact " is something produced by the software development process, whether it be software related documentation or an executable file. 在一般软件术语中,“ 工件 ”是由软件开发过程产生的东西,无论是软件相关文档还是可执行文件。

In Maven terminology, the artifact is the resulting output of the maven build, generally a jar or war or other executable file. 在Maven术语中,工件是maven构建的结果输出,通常是jarwar或其他可执行文件。 Artifacts in maven are identified by a coordinate system of groupId, artifactId, and version. maven中的工件由groupId,artifactId和version的坐标系标识。 Maven uses the groupId , artifactId , and version to identify dependencies (usually other jar files) needed to build and run your code. Maven使用groupId , artifactIdversion来识别构建和运行代码所需的依赖项(通常是其他jar文件)。




#6楼

An artifact is a file, usually a JAR, that gets deployed to a Maven repository. 工件是一个文件,通常是JAR,可以部署到Maven存储库。

A Maven build produces one or more artifacts, such as a compiled JAR and a "sources" JAR. Maven构建会生成一个或多个工件,例如已编译的JAR和“sources”JAR。

Each artifact has a group ID (usually a reversed domain name, like com.example.foo), an artifact ID (just a name), and a version string. 每个工件都有一个组ID(通常是反向域名,如com.example.foo),工件ID(只是一个名称)和一个版本字符串。 The three together uniquely identify the artifact. 三者一起唯一地识别工件。

A project's dependencies are specified as artifacts. 项目的依赖项被指定为工件。


推荐阅读
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
author-avatar
永川青峰_915
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有