如何使用 Maven 插件的补丁版本?
How can I use a patched version of a Maven plugin?
我想在我的构建中使用 Maven 插件的修改版本(用于实验目的)。因此,我下载了插件的源码并进行了调整。
集成修改后的插件的最佳方式是什么?我可以拦截 Maven 插件的加载并将其重定向到本地 jar 吗?我是否可以添加(少数)调整后的 类 以便它们在插件之前加载(由类加载器)?怎么样?
Maven 查找插件的方式与查找依赖项的方式相同。所以这就是我要尝试的方法:
在其 POM 文件中更改插件的组 ID / 工件 ID / 版本号并重建它。
将插件安装到您的 .m2 存储库中;例如运行 mvn install
.
或者在构建插件 JAR 之后(无论您如何构建),按照 Apache > Maven > Plugins > Apache Maven Install Plugin > Usage 中的描述通过 运行ning mvn install:install-file
安装它。这允许您直接指定组 ID / 工件 ID / 版本。
建议选择一个group/artifact/version不太可能与正式版插件冲突的插件。但这只是为了您的理智。
这样做的缺点是(现在)您可能必须将插件与项目源代码一起发布或分发。并维护它以跟踪原始插件的变化。 (或者不要让你的实验性插件逃脱。)
我想在我的构建中使用 Maven 插件的修改版本(用于实验目的)。因此,我下载了插件的源码并进行了调整。
集成修改后的插件的最佳方式是什么?我可以拦截 Maven 插件的加载并将其重定向到本地 jar 吗?我是否可以添加(少数)调整后的 类 以便它们在插件之前加载(由类加载器)?怎么样?
Maven 查找插件的方式与查找依赖项的方式相同。所以这就是我要尝试的方法:
在其 POM 文件中更改插件的组 ID / 工件 ID / 版本号并重建它。
将插件安装到您的 .m2 存储库中;例如运行
mvn install
.
或者在构建插件 JAR 之后(无论您如何构建),按照 Apache > Maven > Plugins > Apache Maven Install Plugin > Usage 中的描述通过 运行ning mvn install:install-file
安装它。这允许您直接指定组 ID / 工件 ID / 版本。
建议选择一个group/artifact/version不太可能与正式版插件冲突的插件。但这只是为了您的理智。
这样做的缺点是(现在)您可能必须将插件与项目源代码一起发布或分发。并维护它以跟踪原始插件的变化。 (或者不要让你的实验性插件逃脱。)