Maven 模型生成器
有效的模型构建器,具有继承、配置文件激活、插值,...
主要组件是ModelBuilder ( javadoc , source ),其DefaultModelBuilder实现 ( javadoc , source ) 用于管理步骤序列。
该序列分为 2 个阶段,具有可选的插件处理:
- 阶段1
- 个人资料激活
- 模型归一化
- 轮廓注入
- 父级分辨率直到超级 pom
- 继承汇编
- 模型插值(见下文)
- 网址规范化
- 阶段2
- 模型路径翻译
- 插件管理注入
- (可选)生命周期绑定注入
- 依赖管理导入(用于<dependencyManagement>部分中pom类型的依赖)
- 依赖管理注入
- (可选)报告配置
- (可选)报告转换为解耦站点插件
- (可选)插件配置
- 有效的模型验证
模型插值
模型插值包括用计算值替换${...} 。它在StringSearchModelInterpolator ( javadoc , source ) 中完成。
值从不同的语法按顺序评估:
价值 | 评价结果 | 常见的例子 |
---|---|---|
project.* pom.* (已弃用) * (已弃用) | POM 内容(参见POM 参考) | ${project.version} ${project.build.finalName} ${project.build.artifactId} ${project.build.directory} |
basedir project.basedir pom.basedir(已弃用) | 包含pom.xml文件的目录 | ${project.basedir} |
project.baseUri pom.baseUri(已弃用) | 包含pom.xml文件作为 URI的目录 | ${project.baseUri} |
build.timestamp maven.build.timestamp | 构建开始的时间戳,采用yyyyMMdd-HHmm默认格式,可以用maven.build.timestamp.format POM 属性覆盖 | ${maven.build.timestamp} |
* | 用户属性,使用-Dproperty=value从 CLI 设置 | ${skipTests} |
* | 模型属性,例如在 pom 中设置的项目属性 | ${any.key} |
maven.home | 当前 Maven 主页的路径。 | ${maven.home} |
maven.version | 当前 Maven 执行的版本号(从 3.0.4 开始)。例如,“ 3.0.3 ”。 | ${maven.version} |
maven.build.version | 当前 Maven 执行的完整构建版本(自 3.0.4 起)。例如,“ Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600) ”。 | ${maven.build.version} |
* | Java 系统属性(参见JDK 参考) | ${user.home} ${java.home} |
环境* * | 环境变量 | ${env.PATH} |
设置。* | 本地用户设置(参见设置参考) | ${settings.localRepository} |
请注意,在模型插值之后,${...}内容可以保留在模型中,稍后将在设置插件参数时对其进行评估。这尤其发生在Settings.* Settings Model的值上。