Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 完全覆盖Maven发布生命周期_Java_Maven_Maven Release Plugin - Fatal编程技术网

Java 完全覆盖Maven发布生命周期

Java 完全覆盖Maven发布生命周期,java,maven,maven-release-plugin,Java,Maven,Maven Release Plugin,在定制项目版本的过程中,我遇到了以下文章: 本质上,以下假设是针对使用默认版本插件而做出的: 您的代码库将作为一个“单元”进行版本控制和发布 您正在使用SCM工具和存储库管理器 您正在从SCM中的单个“可版本化”单元执行发布 您使用的是标准版本号 您正在将工件发布到存储库 在大多数情况下,我们的项目不符合这些假设。我们希望使用一个自定义版本模式(独立于SCM、maven等)。将工件部署到文件系统(而不是存储库)。不要让maven和SCM混在一起。等等 按照建议,我们可能应该定义自己的发布生

在定制项目版本的过程中,我遇到了以下文章:

本质上,以下假设是针对使用默认版本插件而做出的:

  • 您的代码库将作为一个“单元”进行版本控制和发布
  • 您正在使用SCM工具和存储库管理器
  • 您正在从SCM中的单个“可版本化”单元执行发布
  • 您使用的是标准版本号
  • 您正在将工件发布到存储库
在大多数情况下,我们的项目不符合这些假设。我们希望使用一个自定义版本模式(独立于SCM、maven等)。将工件部署到文件系统(而不是存储库)。不要让maven和SCM混在一起。等等


按照建议,我们可能应该定义自己的发布生命周期。因此,我假设我们需要覆盖maven默认生命周期发布阶段来运行插件。我想我缺少所需文档的位置。这可能吗

您正在做的事情可能过于激进,不值得在Maven中做,您可能会发现自己正在有效地编写一个由Maven触发的并行构建系统

假设付出的努力是值得的——我将首先配置各种插件(Maven的大部分功能都是通过插件交付的,由生命周期的各个阶段触发),并让它们在不同的阶段以不同的目标执行。你可能需要编写Maven插件来做任何你想做但还不存在的事情;我想在这种极端的情况下你需要这么做


你可能是对的。在重新评估之后,我可以简单地编写我们自己的“发布”插件,并在适当的生命周期阶段执行。