1

我在 Maven 的文档中找到了这个注释:

您可以通过扩展向这个类加载器添加元素。它们被加载到与当前项目和后续项目的 Maven 核心和所有插件相同的位置${maven.home}/lib,因此可以使用(将来,我们计划从后续项目中删除它)。

我无法理解这里的“后续项目”是什么意思。据我了解,扩展是对 Maven 生命周期阶段的增强,而不是特定于项目的。因此,为所有 Maven 项目工作是有意义的。

问题:谁能解释这个声明的意思是“将来,我们计划从后续项目中删除它”

4

1 回答 1

0

首先,扩展可以是生命周期的扩展,但不是必须的。例如,您也可以将扩展实现为EventSpy

文档与此类扩展中可用的核心类加载器相关,并且还可以通过扩展来增强它。这个类加载器包含那些${maven.home}/lib不是一个好主意和不必要的文件。最好只有 Maven 插件 API 并且它是当前使用的实例,而不是更多......

存在一些扩展,例如 Wagon,它们用于在特殊情况下进行运输,这可能是特定于项目的。

Maven 3.3.1开始,核心扩展机制得到了改进,使加载项目特定的扩展更加简单,这意味着它们位于${maven.projectBasedir}/.mvn/extensions.xml文件中,也可以从存储库加载。在 3.3.1 之前,您需要通过mvn -Dmaven.ext.class.path=extension.jar.

于 2016-04-03T10:31:49.747 回答