热门标签 | 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. 项目的依赖项被指定为工件。


推荐阅读
  • 本文介绍了Kettle资源库的基本概念、类型及其管理方法,同时探讨了Kettle的不同运行方式,包括图形界面、命令行以及API调用,并详细说明了日志记录的相关配置。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Logback使用小结
    1一定要使用slf4j的jar包,不要使用apachecommons的jar。否则滚动生成文件不生效,不滚动的时候却生效~~importorg.slf ... [详细]
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
  • 近期,公司在构建新的交易系统时遇到了一个常见的问题——金额存储。由于涉及资金的操作需要高度的准确性,使用float类型进行金额计算可能会导致不可预见的误差。本文将深入探讨这一问题,并提供解决方案。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文探讨了高质量C/C++编程的最佳实践,并详细分析了常见的内存错误及其解决方案。通过深入理解内存管理和故障排除技巧,开发者可以编写更健壮的程序。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • 本文介绍了如何在WildFly 10中配置MySQL数据源时遇到的服务依赖问题及其解决方案。 ... [详细]
  • 本文详细介绍了如何通过修改Lua源码或使用动态链接库(DLL)的方式实现Lua与C++之间的高级交互,包括如何编译Lua源码、添加自定义API以及在C++中加载和调用Lua脚本。 ... [详细]
  • 在CentOS 7上轻松安装Elasticsearch的JDBC插件
    本文介绍如何在CentOS 7操作系统中安装Elasticsearch (简称ES) 的JDBC插件,以实现与MySQL数据库的有效连接,特别强调了该方法对于增量数据同步的支持。 ... [详细]
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社区 版权所有