如何将 pluginList 指定为 findbugs-maven-plugin 的 maven 依赖项

How to specify pluginList as maven dependencies for findbugs-maven-plugin

我想知道是否有办法为插件指定 findbugs 属性,pluginList 作为 Maven 依赖项而不是文件路径。

我的意思是,如果我使用这个配置:

<reporting>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>3.0.3</version>
            <configuration>
                <xmlOutput>true</xmlOutput>
                <xmlOutputDirectory>target/site</xmlOutputDirectory>
                <pluginList>/my/path/fb-contrib-6.2.3.jar</pluginList>
            </configuration>
        </plugin>
    </plugins>
</reporting>

Findbugs 加载插件 jar 并根据需要分析代码。但是正如您所见,jar 位置是固定路径。我想使用这样的东西:

<reporting>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>3.0.3</version>
            <configuration>
                <xmlOutput>true</xmlOutput>
                <xmlOutputDirectory>target/site</xmlOutputDirectory>
                <pluginList>
                    <dependency>
                        <groupId>com.mebigfatguy.fb-contrib</groupId>
                        <artifactId>fb-contrib</artifactId>
                        <version>6.2.3</version>
                    </dependency>
                </pluginList>
            </configuration>
        </plugin>
    </plugins>
</reporting>

很明显最后的配置不行,但是从Maven的角度来说更方便

是的,您可以使用 <plugins> 参数,而不是 <pluginList>

引用 the documentation:

The pluginList option specifies a comma-separated list of optional BugDetector Jar files to add.
...
The plugins option defines a collection of PluginArtifact to work on.

示例配置为:

<configuration>
  <plugins>
    <plugin>
      <groupId>com.mebigfatguy.fb-contrib</groupId>
      <artifactId>fb-contrib</artifactId>
      <version>6.2.3</version>
    </plugin>
  </plugins>
</configuration>