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

Sha*_*fta 12 maven

我有一个文件,它维护发布版本的构建号.每次发布版本时,此编号都会递增,文件将保存到svn存储库中.

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

<profiles>
    <id>release</id>      
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    ..
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</profiles>
Run Code Online (Sandbox Code Playgroud)

jav*_*y79 36

我建议您首先查看构建配置文件的文档.你可以在这里找到.您要查看的第一件事是此部分:

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

基本上,一旦你明白,请注意,你把你的个人资料部分是什么非常接近你有什么外面您的个人资料.话虽这么说,如果你需要一个特定于配置文件的构建部分,它应该模仿你在配置文件之外的内容 - 如果你看一下pom.xsd,它就完全相同了.

所以,例如:

<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>
                        ....
Run Code Online (Sandbox Code Playgroud)

这将通过运行触发: mvn package -Dbuild=full

我希望这有帮助.


tdr*_*ury 5

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