Maven 阴影插件自定义转换器

maven shade plugin custom transformer

鉴于 maven shade plugin resource transformers,我们如何创建自定义的?

我已经尝试将 shade 插件添加到我的 pom 中:

<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.4.2</version>
</dependency>

并创建一个实现 ResourceTransformer 的 class。但是当我 运行 它时,我得到:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.4.1:shade (default) on project foo: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:2.4.1:shade for parameter transformers: Cannot load implementation hint 'test.transformer.TestTransformer' -> [Help 1]

转换器与我运行正在构建的项目位于相同的class路径上,我猜这就是问题所在。有没有办法添加一个扩展来引入其他转换器?

参见next section of the instructions

  • 创建一个包含 test.transformer.TestTransformer 的 Maven 项目,并在其 pom.xml.
  • 中添加适当的依赖项
  • 在原项目工程的pom.xmlproject.build.plugins.plugin[.id='maven-shade-plugin']添加上面的maven工程作为依赖