Maven 3,maven-site-plugin,如何在多模块项目中配置reportPlugins

时间:2011-03-14 16:50:36

标签: maven-2 maven-3

使用Maven 3,网站插件在报告方面发生了变化。

在maven 2中,报告部分具有“继承”元素。例如:

<reporting>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-failsafe-plugin</artifactId>
      <version>${failsafe.plugin.version}</version>
      <configuration>
        <useFile>false</useFile>
      </configuration>
      <inherited>true</inherited>
      <reportSets>
        <reportSet>
          <reports>
            <report>report-only</report>
          </reports>
        </reportSet>
      </reportSets>
    </plugin>
  </plugins>
</reporting>

Maven 3中是否存在报告插件继承?所以在maven 3中,reportPlugins的继承行为是什么,有没有办法像maven 2继承的元素一样改变这种行为?

其次,该部分是否对网站插件下的reportPlugins中的插件配置有任何影响?或者必须在pluginManagement&amp ;;中重复配置。 reportPlugins部分?是否还必须在子模块中复制任何此配置?

在一天结束时,我想在Maven 3中执行以下操作:

<!-- in parent pom -->
<build>
  <pluginManagement>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-failsafe-plugin</artifactId>
      <version>${failsafe.plugin.version}</version>
      <configuration>
        <useFile>false</useFile>
      </configuration>
      <reportSets>
        <reportSet>
          <reports>
            <report>report-only</report>
          </reports>
        </reportSet>
      </reportSets>
    </plugin>
  </pluginManagement>

  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-failsafe-plugin</artifactId>
      <!-- no version num or config - specified in pluginManagement section -->
    </plugin>  

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <configuration>
          <reportPlugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-failsafe-plugin</artifactId>
              <!-- no version num, config, or report set - specified in pluginManagement section -->
            </plugin>  
          </reportPlugins>
        </configuration>
      </plugin>
  </plugins>
</build>

<!-- in sub module pom -->
<!-- specify nothing - already in parent pom-->

我希望所有这些配置都能继承到子模块。甚至是reportPlugins部分。

目前maven 3有可能/所有这些吗?

1 个答案:

答案 0 :(得分:3)

看起来这可能不完全可能。 请参阅maven-site-plugin中的this issue

据说现在正好像你想要的那样工作, 自Maven 3.5发布于2017年。