原文:《What is Aether》

你是否曾经想过把maven依赖解析机制集成到你的应用程序中,并最终尝试嵌入Plexus和一整个Maven发行版?你是否曾经想过以多线程的方式使用Maven依赖解析机制,却被其中有状态的单例程序弄得很困惑?你是否曾经希望更多地控制Maven计算解析依赖关系图的方式,比如说使用别的策略来解决冲突或者检查一些中间阶段的依赖图?

Did you ever want to integrate Maven’s dependency resolution mechanism into your application and ended up trying to embed Plexus and an entire Maven distribution? Did you ever want to use Maven’s dependency resolution mechanism in a multi-threaded fashion and got burned by the stateful singletons in there? Did you ever want to have a little more control over how Maven calculates the resolved dependency graph, say use another strategy for conflict resolution or inspect some intermediate dependency graph?

Aether就是你要找的答案。它是一个与Maven 构建物仓库协同工作的易于嵌入的Java 类库,使你能够把构建物从远程仓库拉到本地使用,也能把本地构建物发布到远程仓库,以分享给他人。

Well, Aether is the answer. It’s an easily embeddable Java library to work with artifact repositories, enabling you to fetch artifacts from remote repositories for local consumption and to publish local artifacts to remote repositories for sharing with others.

有多种方式传输构建物,描述它们之间的关系和使用它们。Aether的设计对这些方面的定制持开放的态度,允许你添加甚至替换掉已有的东西来适应你的需求。实际上,举个例子,Aether的内核本身并不知道如何与Maven仓库打交道。它是工具无关的,只提供了一些通用的构建物解析或部署框架并把细节(例如仓库格式)留给了扩展。

There are many ways to transfer artifacts, to describe their relationships and to use them. Aether was designed with an open mind towards customization of these aspects, allowing you to augment or even replace stock functionality to fit your needs. In fact, the Aether Core itself doesn’t know how to deal with Maven repositories for instance. It’s tool agnostic and provides some general artifact resolution/deployment framework and leaves details like the repository format to extensions.

在这一点上,来自Apache Maven项目的 maven-aether-provider 可能是最有趣的扩展,因为它很好地支持了Maven仓库。所以如果你正在寻找一种从中央仓库获取并使用构建物的方式,Aether结合Maven Aether Provider 会是你最好的选择。以这种方式使用Aether不但能减轻处理构建物的工作量,而且能保证与其他操作Maven仓库的工具的互操作性。

At this point, the maven-aether-provider from the Apache Maven project is probably the most interesting extension as it brings support for, well Maven repositories. So if you’re looking for a way to consume artifacts from the Central Repository, Aether in combination with the Maven Aether Provider is your best bet. Usage of Aether in this way does not only ease your work when dealing with artifacts but also ensures interoperability with other tools that work with Maven repositories.

What is Aether相关推荐

  1. 利用aether api实现从指定maven仓库下载jar包

    最近公司做项目遇到一个需求,通过用户提供的groupId和artifactId以及version到指定maven库中下载jar包.平时的maven项目中,依赖的jar包都是通过pom文件设置,然后ma ...

  2. 【华大九天Aether芯片EDA模拟电路仿真 Centos7安装】

    文章目录 前言 一.安装centos7 (或者Redhat) 二.下载相关的软件和license文件 三.把软件,license从本地传到centos7 四.改物理地址 五.配置设置文件 六.改hos ...

  3. 以太(Aether)假说的破灭

    在科学研究中,纠正错误观念,非常费劲,比如,原子的"布丁(pudding)模型"与"以太(Aether)介质"假设. 在中学学习阶段,惠更斯关于光的波动模型以及 ...

  4. 使用 aether api 从指定maven仓库下载jar包

    一.简介 想要下载远程maven仓库中的jar,需要用到aether api.简单的来说我们需要远程仓库地址.用户名.密码以及maven信息等. 在aether中,针对这些信息,有着自己的类库, 下载 ...

  5. org.eclipse.aether.resolution.ArtifactDescriptorException

    未能读取com.taotao的工件描述符:taotao-manager-mappers. Description Resource Path Location Type Failed to read ...

  6. maven-shade-plugin A required class was missing org/sonatype/aether/version/VersionConstraint

    问题描述 在用jenkins 编译研发代码的时候,报如下错误: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade- ...

  7. C++生成 桔灯 Aether仪器的 *.atts 格式 时间域文件

    Aether大地电磁系统 Aether 是全新一代高速低速同时采集的大地电磁系统,通过 GPS 进行同步授时定位, 所有通道完全同步采集,连续时间序列存储.也可以用于任何传统电磁法 MT. ATM. ...

  8. org.eclipse.aether.transfer.RepositoryOfflineException: Cannot access nexus in offline mode

    org.eclipse.aether.transfer.RepositoryOfflineException: Cannot access nexus in offline mode maven的se ...

  9. org.eclipse.aether.internal.impl.DefaultArtifactResolver.setLoggerFactory

    idea2018.1.5版本,使用maven3.6 构建工程时,右侧Dependencies全是红叉,删除所有文件,重新导入也一样.此问题折腾我两天,最后通过查看idea执行日志, 报如下错: org ...

最新文章

  1. 重新安装nginx注意事项
  2. 双目图像超分辨:现状、挑战与展望
  3. 虽未达到科幻中的未来,人工智能革命仍已到来
  4. wince 6中硬键盘 输入法解决
  5. XCode6报数组越界错误的问题
  6. 金立又推新机 欧新V908或近期发布 外观设计独到
  7. QT学习:线程等待与唤醒
  8. Fragment结合nineold包实现滑动tab页
  9. java锁方法和锁代码块_java的同步方法和同步代码块,对象锁,类锁区别
  10. python:将时间戳转换成格式化日期
  11. 扫地机器人的特点描写_扫地机器人的特点和作用
  12. 作者:石在辉(1983-),男,中移(苏州)软件技术有限公司大数据产品部方案架构师。...
  13. 用perl语言求1到100之间的偶数,奇数及素数
  14. mysql的回滚机制_mysql事务回滚机制概述
  15. Android开发笔记(三十)SQLite数据库基础操作
  16. ClassNotFoundException: javax.validation.ValidatorFactory
  17. java面向对象笔试_Java面向对象笔试题.doc
  18. VC6 程序 在VS2019或其他高版本上编译运行
  19. kali msfconsole命令详解以及靶机攻破实战
  20. LCD驱动芯片——BL55072A驱动程序

热门文章

  1. libreOffice构建docker镜像
  2. 旧金山全美首禁售电子烟,电子烟风口还能保持多久?
  3. 如何防止短信验证码接口、登录注册入口被恶意调用攻击?
  4. CSDN 表格内容换行
  5. 基于EQ36软件的地球化学反应过程模拟实践
  6. 位地址和字节地址换算_修改飞机24位地址码
  7. ICRS、GCRS、CIRS、TIRS和ITRS坐标系统简介
  8. php 头文件,string.h是什么头文件
  9. 产品原型这么做,才叫真的爽!
  10. 人工智能训练师AIT的工作是什么呢