根据apache doc中的这一行,对maven扩展进行了哪些更改?

时间:2016-04-03 04:13:38

标签: maven maven-2 maven-3 maven-plugin maven-extension

我在Maven的文档中找到了这个说明:

  

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

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

问题:任何人都可以解释这句话的含义"将来,我们计划将其从后续项目中删除"

1 个答案:

答案 0 :(得分:0)

首先是生命周期的extensions can be extensions但不需要。您也可以将扩展名实现为EventSpy for example

documentation与此类扩展中提供的Core Classloader相关,并且还可以通过扩展来增强它。这个类加载器包含来自${maven.home}/lib的那些文件,这不是一个好主意,也不是必需的。最好只有Maven Plugin API,而且它的实例是目前使用的而不是更多......

现有一些像Wagon这样的扩展用于在特殊情况下进行传输,这可能是项目特定的。

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