2

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

...
<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 和 - 万岁,有一个选项。我已经做到了以下几点:

...
<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>
...

……然后砰!它不起作用。Pom 正在被解析,项目被构建,但插件没有被执行——甚至一次都没有。为什么?是我弄错了,还是什么?Maven缺乏功能?漏洞?

4

1 回答 1

3

根据Maven 模型文档,该goals元素plugin已被 Maven 弃用和使用。

于 2013-05-22T13:13:12.470 回答