黑马程序员技术交流社区

标题: 【太原校区】Apereo Java CAS Client 源码研究-pom学习笔记 [打印本页]

作者: miaoxiong    时间: 2019-4-12 01:27
标题: 【太原校区】Apereo Java CAS Client 源码研究-pom学习笔记
本帖最后由 miaoxiong 于 2019-5-22 19:40 编辑

inceptionYear 项目创建年份,4位数字。当产生版权信息时需要使用这个值。
issueManagement 定义缺陷跟踪系统信息,主要用于生成项目文档。
scm 声明版本管理工具信息
maven-assembly-plugin 将站点文档、模块、依赖项等聚合到一个压缩包中。它支持打包成:

maven-compiler-plugin  3.0版本起,默认的编译版本是1.6.默认的编译器是 javax.tools.JavaCompiler。而非javac 。可以使用forceJavacCompilerUse更换编译器为javac。可以设置source和target,更换jdk版本。
maven-surefire-plugin maven测试阶段,可以生成测试报告用。可以生成txt和xml
maven-enforcer-plugin 控制环境约束,如Maven版本、JDK版本和OS系列以及更多的内置规则和用户创建的规则
​    fail :当定义的规则失败时,目标goal执行就要失败,那么设置为true。
dependencyManagement
用于帮助管理其所有子代的依赖关系信息。如果我的父项目使用DependencyManagement定义对junit:junit:4.12的依赖关系,那么继承自此项目的POM可以设置它们的依赖关系,只提供groupid=junit和artifactid=junit,maven将填充父项目设置的版本。这种方法的好处是显而易见的。可以在一个中心位置设置依赖项详细信息,该位置将传播到所有继承的POM。

请注意,artifacts 依赖传递的版本和范围也由dependency management 中指定version规范控制的。这会导致意想不到的后果。考虑一个您的项目使用两个依赖项dep1和dep2的情况。DEP2反过来也使用DEP1,并且需要特定的最低版本才能工作。如果使用DependencyManagement指定旧版本,则Dep2将强制使用旧版本,并失败。所以,您必须仔细检查整个依赖树以避免这个问题;mvn dependency:tree就很用了。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2