包含多个活动配置文件的buid-helper-plugin

时间:2017-05-09 10:31:36

标签: java eclipse maven build-helper-maven-plugin

我有一个项目可能会根据所选的配置文件采用不同的来源/资源。有些配置文件是互斥的,有些配置文件应该是可组合的,例如下面代码段中定义的配置文件localwildfly应该是可组合的

<profiles>
    <profile>
        <id>local</id>
        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <inherited>true</inherited>
                        <executions>
                            <execution>
                                <id>add-sources</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>add-source</goal>
                                </goals>
                                <configuration>
                                    <sources>
                                        <source>profiles/local/src/main/java</source>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>add-resource</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>profiles/local/src/main/resources</directory>
                                            <filtering>true</filtering>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>
    </profile>

    <profile>
        <id>wildfly</id>
        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <inherited>true</inherited>
                        <executions>
                            <execution>
                                <id>add-sources</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>add-source</goal>
                                </goals>
                                <configuration>
                                    <sources>
                                        <source>profiles/wildfly/src/main/java</source>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>add-resource</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>profiles/wildfly/src/main/resources</directory>
                                            <filtering>true</filtering>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>
    </profile>
</profiles>

如果我在eclipse下执行此操作,我会注意到实际只应用了后者 - 我只看到wildfly配置文件中定义的源/资源。

同样在生成的完整POM中,我注意到只应用了后一种(wildfly)配置文件的配置,从而删除了local配置文件中定义的源和资源。

这是插件应该工作的方式,还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

好的....这只是我。

我给了处决的名字相同,因此他们被覆盖了。我的坏。

主持人可能会关闭/删除此问题。