Maven:使用基于配置文件的插件

时间:2012-01-30 12:38:30

标签: maven

我有一个文件,用于维护发布版本的内部版本号。每次发布版本时,此编号都会递增,文件将保存到svn存储库中。

现在说我有一个插件来完成这项工作,我已经创建了一个构建配置文件。但我只需要在激活构建配置文件时触发此插件,否则不需要。我想将pluginManagement添加到配置文件可能就像下面的出路一样。有什么建议吗?

<profiles>
    <id>release</id>      
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    ..
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</profiles>

2 个答案:

答案 0 :(得分:34)

我建议您首先查看构建配置文件的文档。你可以找到here。您要查看的第一件事是本节:

  

如何触发配置文件?这有何不同根据   正在使用的档案类型?

基本上,一旦您理解了这一点,请注意您在个人资料部分中添加的内容非常接近外部您的个人资料。话虽这么说,如果你需要一个特定于配置文件的构建部分,它应该模拟你在外面配置文件中的内容 - 如果你看一下pom.xsd它就是我所相信的。< / p>

所以,例如:

<profiles>
    <profile>
        <id>full-build</id>
        <activation>
            <property>
                <name>build</name>
                <value>full</value>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo.webstart</groupId>
                    <artifactId>webstart-maven-plugin</artifactId>
                    <version>1.0-beta-1</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>jnlp</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <resourcesDirectory>src/main/web</resourcesDirectory>
                        ....

这可以通过运行:mvn package -Dbuild=full

来触发

我希望这会有所帮助。

答案 1 :(得分:5)

使用pluginManagement不会导致构建插件运行。它用于为子POM指定插件版本和配置信息。你也错过了'profiles'的'profile'子元素。最后,除非您计划通过-P激活配置文件,否则您需要一些激活标准。