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的值上。