指定所有插件执行的默认目标

时间:2013-05-22 12:38:19

标签: maven default maven-plugin execution

我将把我的自定义maven插件的多次执行写入我的项目的pom.xml中。我的配置是这样的:

...
<build>
  <plugins>
    <plugin>
      <groupId>myGroupId</groupId>
      <artifactId>pluginId</artifactId>
      <executions>
        <execution>
          <id>ex-1</id>
          <goals>
            <goal>goal-name</goal>
          </goals>
          <configuration>
            <option>value_1</option>
          </configuration>
        </execution>
        <execution>
          <id>ex-2</id>
          <goals>
            <goal>goal-name</goal>
          </goals>
          <configuration>
            <option>value_2</option>
          </configuration>
        </execution>
        <!-- quite plenty more executions here -->
      </executions>
      <configuration>
        <commonOption>common_value</commonOption>
      </configuration>
    </plugin>
  </plugins>
</build>
...

...与maven规范一样,就像在示例中一样,它可以正常工作。

但是存在很多冗余 - 每次执行(大约20个)都有自己的目标部分,并且所有执行都具有指定的完全相同的目标。想到自己 - 我在插件部分指定了一个默认值。看看maven pom xml-schema和 - hooray,有一个选项。我已经达到了以下目标:

...
<build>
  <plugins>
    <plugin>
      <groupId>myGroupId</groupId>
      <artifactId>pluginId</artifactId>
      <executions>
        <execution>
          <id>ex-1</id>
          <configuration>
            <option>value_1</option>
          </configuration>
        </execution>
        <execution>
          <id>ex-2</id>
          <configuration>
            <option>value_2</option>
          </configuration>
        </execution>
        <!-- same plenty more executions changed likewise -->
      </executions>
      <goals>
        <goal>goal-name</goal>
      </goals>
      <configuration>
        <commonOption>common_value</commonOption>
      </configuration>
    </plugin>
  </plugins>
</build>
...

...和bam!它不起作用。正在解析Pom,构建项目,但插件不会被执行 - 甚至不会执行一次。为什么?我错了,还是什么? maven缺乏功能?错误?

1 个答案:

答案 0 :(得分:3)

根据Maven Model documentationgoals中的plugin元素已被Maven弃用且未使用。