java - Maven : what does "build life cycle mapping" mean

标签 java maven maven-plugin maven-3 mojo

我一直在尝试理解 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/

相关文章:

java - 什么是散列中的折叠技术以及如何实现它?

java - Glassfish - 尝试连接数据源时没有适合 mysql 的驱动程序

java - 有没有办法让netbeans在编译时自动重启tomcat?

java - Android Studio 无法解析 jUnit 4.12 依赖

java - Maven:在生命周期阶段之间传递系统属性

maven-plugin - 使用 Maven 插件将多个(js)文件聚合/组装成一个(js)文件而不压缩的最简单方法是什么?

java - 关于使用 AspectJ 执行策略

java - 使用 Optaplanner 7.0.0.Final 时出现 ClassNotFoundException org.reflections.Configuration

grails - grails/ivy代理排除?

maven - 在 Maven 中打开/关闭 Atlassian Clover 的开关