使用 Maven 发布插件时在 Perforce 中锁定源文件

Posted

技术标签:

【中文标题】使用 Maven 发布插件时在 Perforce 中锁定源文件【英文标题】:Lock Source file in Perforce while using Maven release plugin 【发布时间】:2010-10-26 13:19:18 【问题描述】:

我在 Hudson 控制台中收到错误消息,提示构建失败,因为 Maven 发布插件无法更新 POM.xml 版本,而仍有未解析的文件。该问题是由其他人在构建期间更新 POM 引起的。

哪位大师可以教我如何解决这个问题?我正在考虑 P4 锁,任何人都可以给我更多关于在 Maven 和 hudson 中使用 P4 锁的详细信息吗?

【问题讨论】:

也许你可以在P4中使用一个分支(我不详细了解P4)... 【参考方案1】:

如果在构建过程中不允许人们编辑 POM.xml,p4 锁肯定是一个很好的解决方案。我看到的唯一另一种可能性是使 maven 能够以某种方式合并更改,但似乎发生冲突的风险可能很高。

【讨论】:

但是发布插件本身需要更新 pom.xml 版本。插件也会被 P4 锁定吗?我应该在哪个阶段调用 P4 Lcok? 这听起来好像锁需要在构建期间生效,因为任何提交它的用户都会导致它失败。如果相同的用户/客户端(在构建中)实现锁作为插件用来编辑 POM.xml 的锁,你应该没问题。确保您的脚本在所有情况下都清理并释放锁定。

以上是关于使用 Maven 发布插件时在 Perforce 中锁定源文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 GAE Maven 插件时在 IDEA 中调试 Java Google App Engine 应用程序?

Jenkins Perforce 插件未从 Perforce 签出代码

Eclipse Perforce 插件和默认文件类型修饰符以便更新版本

maven 发布:准备版本字符错误

注入 Maven 插件依赖项运行时

基于线路的 SCM 责备信息存储在哪里?