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


推荐阅读
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • Spring框架中的面向切面编程(AOP)技术详解
    面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
  • 从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南
    从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 解决Win10 1709版本文件共享安全警告问题
    每当Windows 10发布新版本时,由于兼容性问题往往会出现各种故障。近期,一些用户在升级至1709版本后遇到了无法访问共享文件夹的问题,系统提示‘文件共享不安全,无法连接’。本文将提供多种解决方案,帮助您轻松解决这一难题。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文探讨了如何将个人经历,特别是非传统的职业路径,转化为职业生涯中的优势。通过作者的亲身经历,展示了舞蹈生涯对商业思维的影响。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 本文探讨了在使用JavaMail发送电子邮件时,抄送功能未能正常工作的问题,并提供了详细的代码示例和解决方法。 ... [详细]
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
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社区 版权所有