我有一个文件,用于维护发布版本的内部版本号。每次发布版本时,此编号都会递增,文件将保存到svn存储库中。
现在说我有一个插件来完成这项工作,我已经创建了一个构建配置文件。但我只需要在激活构建配置文件时触发此插件,否则不需要。我想将pluginManagement添加到配置文件可能就像下面的出路一样。有什么建议吗?
<profiles>
<id>release</id>
<build>
<pluginManagement>
<plugins>
<plugin>
..
</plugin>
</plugins>
</pluginManagement>
</build>
</profiles>
答案 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激活配置文件,否则您需要一些激活标准。