我有一个项目,我在其中使用maven-release-plugin
进行配置。
Configration就是这样:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<useReleaseProfile>true</useReleaseProfile>
<releaseProfiles>profile1,profile2</releaseProfiles>
<preparationGoals>
clean verify -Pprofile3,profile4
</preparationGoals>
</configuration>
</plugin>
问题是我在prepareGoals中使用了配置文件但是我一直在构建时遇到错误。 错误是这样的:
[INFO] [ERROR] Unknown lifecycle phase "profile4".
You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>.
Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy.
正如您所看到的,我使用了maven-release-plugin的2.5.3版本。 我以前使用的是maven-release-plugin的2.2.2版,它运行得很好。
使用maven-release-plugin:2.5.3当我从命令行调用mvn clean verify -Pprofile3,profile4
时它工作得很好。
答案 0 :(得分:1)
您可能需要使用arguments
参数来指定配置文件(但我还没有尝试过)。见here。如果在发布运行期间需要不同的配置文件,则可能需要为不同的目标提供单独的配置。
答案 1 :(得分:0)
在Preparation Goals Documentation中,特别是“ 以空格分隔。”。在这里,术语”-Pprofile3,profile4” 被解释为要执行的另一个目标。该位置不支持传递自定义参数。另请注意,清理和验证已在 release:prepare 中运行,因此您将运行两次。
从您的问题下面的评论中;由于您已经具有完成所需任务的插件,因此请将该插件直接作为准备目标来运行。