Changelog 插件根据软件配置管理或 SCM 中的更改生成报告,而 Changes 插件从 changes.xml 文件或 JIRA 问题管理系统生成报告。有关更改插件的更多信息,请参阅 http://maven.apache.org/plugins/maven-changes-plugin
根据 Roger Pressman(在他的书中)软件工程:从业者的方法,SCM 是“一组活动,旨在通过识别可能发生变化的工作产品、建立它们之间的关系、定义管理不同版本的工作产品的机制来控制变化。这些工作产品,控制所施加的更改,并对所做的更改进行审计和报告。”
dateFormat参数用于解析从 SCM 系统检索到的日志条目中的日期 。它 不能用于格式化报告中的日期。如果您尝试这样做,解析的日期将是错误的,报告中的日期更是如此。对于 2005 年 12 月 14 日更改的文件, 它们可能看起来像这样 0020-05-27 。
生成报告时,您将在命令行中看到如下输出:
[INFO] [changelog:changelog] [INFO] Generating changed sets xml to: .../target/changelog.xml [INFO] Executing: svn --non-interactive log -v -r "{2007-06-13 22:22:09 +0000}:{2007-07-14 22:22:09 +0000}" http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-site-plugin
首先要检查的是 changelog 插件设法从 SCM 系统中提取了哪些数据。在文件 target/changelog.xml中,您将找到该数据。看看文件中的数据是否正确。如果它不正确,那么您将无法从 SCM 系统中获得预期的数据。请检查您的变更日志插件配置。
如果这没有帮助,您可以尝试从命令行运行 maven-scm-plugin。maven-changelog-plugin 在后台使用 Maven SCM,运行 maven-scm-plugin 是验证pom.xml文件中的<scm>元素 是否正确的好方法。在命令行上试试这个:
mvn scm:changelog
插件本身配置为生成更改日志报告。这是使用最少的配置完成的。看看 这个插件的pom.xml中的<scm>和 <reporting>/<plugins>元素 。生成的报告可在 此处找到。
您必须在此插件的 <configuration> 元素的 <systemProperties> 元素中 指定 您的 客户端规范。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changelog-plugin</artifactId> <configuration> <systemProperties> <property> <name>maven.scm.perforce.clientspec.name</name> <value>your-client-spec-name</value> </property> </systemProperties> </configuration> </plugin>
您需要 在pom.xml文件中添加<developer> 元素。他们的 id:s 需要与您的 SCM 系统中使用的 userid:s 匹配。只有在 pom 中找到的开发人员进行的签入才会添加到开发人员活动报告中。
请按照它们出现的顺序执行这些步骤。
简短的回答是他们没有。这通常是对如何继承 SCM URL 的误解。
如果您只在父 POM 中定义 <scm> 元素,则子模块将为其 SCM URL 插入一个值。使用聚合器时,子目录的路径在构建 SCM URL 时不使用。仅使用 artifactId。
如果要检查 POM 的外观,包括 SCM URL,可以运行以下命令:
mvn help:effective-pom