4

如果我多次执行 Maven 插件并且它们至少共享一个相同的配置值,那么我是否有办法在插件的所有执行之间共享此配置。

考虑具有两个执行的构建插件的简单情况:

<plugin>
    <!-- ID, version... -->
    <executions>
        <execution>
            <id>ID1</id>
            <configuration>
                <myConfig>foo</myConfig>
                ...
            </configuration>
        </execution>
        <execution>
            <id>ID2</id>
            <configuration>
                <myConfig>foo</myConfig>
                ...
            </configuration>
        </execution>
    </executions>
</plugin>

我怎样才能重写它,以便执行ID1ID2执行都使用相同的myConfig配置值?

4

2 回答 2

6

为什么不将通用配置移到具体执行之外呢?

<plugin>
    <!-- ID, version... -->
    <configuration>
        <commonConfig>foo</commonConfig>
    </configuration>
    <executions>
        <execution>
            <id>ID1</id>
            <configuration>
                <specificConfig>bar</specificConfig>
            </configuration>
        </execution>
        <execution>
            <id>ID1</id>
            <configuration>
                <specificConfig>baz</specificConfig>
            </configuration>
        </execution>
    </executions>
</plugin>

它适用于我使用的一些插件(例如 gmaven-plugin),并且在Maven 文档中我没有发现任何证据表明它不应该工作。

于 2013-05-28T22:25:00.660 回答
1

在使用之前在某处使用这样设置的属性:

<project>
    ...
    <properties>
        <myConfig>foo</myConfig>
    </properties>
    ...
</project>

然后像这样使用它

<execution>
    <id>ID1</id>
    <configuration>
        <myConfig>${myConfig}</myConfig>
         ...
    </configuration>
</execution>
<execution>
    <id>ID2</id>
    <configuration>
        <myConfig>${myConfig}</myConfig>
         ...
    </configuration>
</execution>
于 2013-05-28T15:35:45.657 回答