Changelog 插件和 Changes 插件有什么区别?

Changelog 插件根据软件配置管理或 SCM 中的更改生成报告,而 Changes 插件从 changes.xml 文件或 JIRA 问题管理系统生成报告。有关更改插件的更多信息,请参阅 http://maven.apache.org/plugins/maven-changes-plugin

[最佳]


什么是软件配置管理或 SCM?

根据 Roger Pressman(在他的书中)软件工程:从业者的方法,SCM 是“一组活动,旨在通过识别可能发生变化的工作产品、建立它们之间的关系、定义管理不同版本的工作产品的机制来控制变化。这些工作产品,控制所施加的更改,并对所做的更改进行审计和报告。”

[最佳]


为什么当我使用 dateFormat 参数时,报告中的日期看起来很奇怪?

dateFormat参数用于解析从 SCM 系统检索到的日志条目中的日期 。它 不能用于格式化报告中的日期。如果您尝试这样做,解析的日期将是错误的,报告中的日期更是如此。对于 2005 年 12 月 14 日更改的文件, 它们可能看起来像这样 0020-05-27 。

[最佳]


如何调试 SCM 命令?

生成报告时,您将在命令行中看到如下输出:

[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
复制 SCM 命令(Executing:之后的所有内容)并尝试在命令行上自行运行它。如果它在命令行上不起作用,则 pom.xml中的<scm>元素可能有问题。

[最佳]


我的变更日志报告是空白的,但它不应该是

首先要检查的是 changelog 插件设法从 SCM 系统中提取了哪些数据。在文件 target/changelog.xml中,您将找到该数据。看看文件中的数据是否正确。如果它不正确,那么您将无法从 SCM 系统中获得预期的数据。请检查您的变更日志插件配置。

如果这没有帮助,您可以尝试从命令行运行 maven-scm-plugin。maven-changelog-plugin 在后台使用 Maven SCM,运行 maven-scm-plugin 是验证pom.xml文件中的<scm>元素 是否正确的好方法。在命令行上试试这个:

mvn scm:changelog
它应该向您显示在您的 SCM 中所做的最新更改。它使用默认设置,但您可以通过在命令行上指定参数来更改这些设置。在scm-plugin 文档中阅读更多相关信息 。

[最佳]


我在哪里可以找到这个插件的工作配置?

插件本身配置为生成更改日志报告。这是使用最少的配置完成的。看看 这个插件的pom.xml中的<scm><reporting>/<plugins>元素 。生成的报告可在 此处找到。

[最佳]


如何在 Perforce 中使用这个插件?

您必须在此插件的 <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 中找到的开发人员进行的签入才会添加到开发人员活动报告中。

[最佳]


我想我在这个插件中发现了一个错误,我该怎么办?

请按照它们出现的顺序执行这些步骤。

  1. 阅读此页面上的所有常见问题解答。
  2. 在用户列表上提问。请提供必要的信息,以便名单上的人可以帮助您。这包括pom.xml中的<scm>元素 、插件配置以及对发生的情况和预期发生的情况的丰富描述。
  3. 在JIRA 中创建问题。

[最佳]


为什么我的多模块项目的子模块有错误的 SCM URL?

简短的回答是他们没有。这通常是对如何继承 SCM URL 的误解。

如果您只在父 POM 中定义 <scm> 元素,则子模块将为其 SCM URL 插入一个值。使用聚合器时,子目录的路径在构建 SCM URL 时不使用。仅使用 artifactId。

如果要检查 POM 的外观,包括 SCM URL,可以运行以下命令:

mvn help:effective-pom

[最佳]