【问题标题】:How can I use a patched version of a Maven plugin?如何使用 Maven 插件的补丁版本?
【发布时间】:2018-04-05 09:27:23
【问题描述】:

我想在我的构建中使用 Maven 插件的修改版本(出于实验目的)。因此,我下载了插件的源代码并进行了调整。

集成修改后的插件的最佳方式是什么?我可以拦截 Maven 插件的加载并将其重定向到本地 jar 吗?我是否可以选择添加(少数)调整后的类,以便在插件之前(由类加载器)加载它们?怎么样?

【问题讨论】:

  • 不能把修改后的代码打包成jar,安装在本地,让maven使用吗?

标签: java maven classloader maven-plugin


【解决方案1】:

Maven 查找插件的方式与查找依赖项的方式相同。所以这是我会尝试的:

  1. 在其 POM 文件中更改插件的组 ID/工件 ID/版本号并重建它。

  2. 将插件安装到您的 .m2 存储库中;例如运行mvn install

或者在构建插件 JAR 之后(不管你怎么做),通过运行 mvn install:install-file 来安装它,如 Apache > Maven > Plugins > Apache Maven Install Plugin > Usage 中所述。这允许您直接指定组 ID/工件 ID/版本。

建议选择不太可能与插件官方版本冲突的组/工件/版本。但这只是为了你的理智。

这样做的缺点是(现在)您可能必须将插件与项目源代码一起发布或分发。并维护它以跟踪原始插件的更改。 (或者不要让您的实验性插件逃脱。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    相关资源
    最近更新 更多