我一直在尝试理解 Maven 的概念,但我发现很难理解所使用的术语。
我遇到了“构建生命周期映射
”这个术语。有人可以给我一个关于这个术语的含义的清晰看法吗?我知道什么是构建生命周期
,但是当我们使用“映射
”时它意味着什么?
预先感谢您的帮助
更新:这是我找到这个词的地方-Project build lifecycle mapping
最佳答案
好的,正如您所知,Maven 提供了一种构建生命周期,即阶段序列,从验证 POM、生成源(如果需要)或编译类等基本内容开始,并以安装结束将内容放入本地存储库并在远程存储库上部署 Artifact 。重要的是,这是一个序列,所以顺序在这里很重要。如果您调用某个阶段(假设安装
),那么从开始到安装
的所有阶段都会依次执行。
现在,这些生命周期的阶段是关于每个软件项目需要执行哪些步骤来构建的一些一般想法,正如我们通常考虑的那样。如您所知,软件 Artifact 可以具有许多不同的性质,因此需要在每个阶段完成非常具体的工作。这就是生命周期映射。它是生命周期阶段和具体插件目标之间的绑定(bind),特定于 Artifact 的性质(这意味着 Maven 世界中的打包
)。
因此,例如,jar
打包的映射表示我们需要在 compile
阶段调用 maven-compiler-plugin:compile
,但是 ear
包装表示我们不需要在其 compile
阶段调用任何内容。看here了解更多示例。
关于java - Maven : what does "build life cycle mapping" mean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11391042/