我在Maven的文档中找到了这个说明:
您可以通过扩展程序向此类加载器添加元素。它们被加载到与
${maven.home}/lib
相同的位置,因此可用于Maven核心以及当前项目和后续项目的所有插件(将来,我们计划将其从后续项目中删除)。
我无法理解"后续项目""这里。据我所知,扩展是对Maven生命周期阶段的增强,而不是特定于项目的。因此,为所有Maven项目工作是有意义的。
问题:任何人都可以解释这句话的含义"将来,我们计划将其从后续项目中删除"
答案 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
手动执行此操作。