首页 > 其他分享 >Maven 项目获取 git 分支、提交等信息

Maven 项目获取 git 分支、提交等信息

时间:2024-11-02 14:43:20浏览次数:3  
标签:插件 git properties Maven 提交 commit id

git-commit-id-plugin 是一个 Maven 插件,用于在 Maven 项目的构建过程中自动获取 git 仓库的信息,如最后一次提交的 ID、分支名称、构建时间等,并将这些信息注入到项目的属性文件中。这对于跟踪项目版本和构建状态非常有用。

以下是如何在 Maven 项目中使用 git-commit-id-plugin 的基本步骤:

1 添加插件到 pom.xml 文件中

在你的 Maven 项目的 pom.xml 文件中,添加 git-commit-id-plugin<plugins> 部分。

  <build>
    <plugins>
      <plugin>
        <!-- https://mvnrepository.com/artifact/pl.project13.maven/git-commit-id-plugin -->
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <version>4.0.5</version>
        <executions>
          <execution>
            <goals>
              <goal>revision</goal>
            </goals>
          </execution>
        </executions>
        <!-- 配置选项 -->
        <configuration>
          <dotGitDirectory>${project.basedir}/../.git</dotGitDirectory>
          <generateGitPropertiesFile>true</generateGitPropertiesFile>
          <failOnNoGitDirectory>false</failOnNoGitDirectory>
          <skipPoms>false</skipPoms>
          <generateGitPropertiesFilename>
            ${project.build.outputDirectory}/git.properties
          </generateGitPropertiesFilename>
          <gitDescribe>
            <!-- don't generate the describe property -->
            <skip>false</skip>
            <!-- abbrev commit id length -->
            <abbrev>8</abbrev>
          </gitDescribe>
          <includeOnlyProperties>
            <includeOnlyProperty>^git.branch$</includeOnlyProperty>
            <includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty>
            <includeOnlyProperty>^git.commit.(id|time)$</includeOnlyProperty>
            <includeOnlyProperty>^git.commit.id.abbrev$</includeOnlyProperty>
          </includeOnlyProperties>
        </configuration>
      </plugin>
    </plugins>
  </build>

2 配置插件

<configuration> 标签中,你可以配置多种选项,例如生成的属性文件的位置、包含哪些 git 属性等。默认情况下,插件会生成一个 git.properties 文件在 target/classes 目录下。

   <configuration>
       <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
       <generateGitPropertiesFile>true</generateGitPropertiesFile>
       <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
       <format>properties</format>
   </configuration>
  1. 构建项目:

使用 Maven 命令构建项目,例如 mvn clean install。在构建过程中,git-commit-id-plugin 插件会自动运行,并在指定的位置生成包含 git 信息的 git.properties 文件。

4 查看 git.properties 文件

打开生成的 git.properties 文件,你将看到类似以下的内容,其中包含了提交时间、提交记录、分支等信息:

#Generated by Git-Commit-Id-Plugin
git.branch=main
git.build.host=heal-mac
git.build.time=2024-10-30T15\:04\:10+0800
git.build.version=1.0.0-SNAPSHOT

git.commit.id=abcdef1234567890
git.commit.id.abbrev=abcdef1
git.commit.time=2024-10-28T12\:34\:56+0800

git.commit.message.full=Initial commit
git.commit.message.short=Initial commit

git.commit.user.name=Your Name
[email protected]

git.commit.author.time=2024-10-26T21\:11\:39+0800
git.commit.committer.time=2024-10-26T21\:11\:39+0800

5 在应用中使用这些信息

你可以在应用程序中读取 git.properties 文件,并使用这些信息,例如显示当前版本的 Git 分支和提交 ID。

通过这种方式,你可以利用 git-commit-id-plugin 插件来自动获取和使用 Git 的提交时间、提交记录、分支等信息,从而帮助跟踪和管理你的项目版本。

标签:插件,git,properties,Maven,提交,commit,id
From: https://www.cnblogs.com/shoufeng/p/18521914

相关文章

  • 关于Copilot出现:You don`t have access to Github Copilot .....的问题解决方案
    前面如何如何配置,以及如何如何上传学生证资料等我这里不赘述badendinghappyending出现这个界面这个问题就是set_up不是很完全,设置一下就行disable改为enable等这样再回去IDE,就可以正常使用了......
  • 创建一个新的空分支,初始化后提交远程仓库
    参考:https://worktile.com/kb/ask/249002.html×××××××××××××××××××××××××××××××××××××××××××××××××××××××××步骤一:创建一个新的空分支首先,切换到要创建新分支的项目目录下。然后运行命令`gitcheckout–orphannew-b......
  • Maven(22)如何使用Maven进行单元测试?
    Maven提供了内置的支持来进行单元测试,主要通过maven-surefire-plugin插件实现。以下是如何使用Maven进行单元测试的详细步骤和代码示例:步骤1:添加测试依赖首先,确保你的项目中包含了测试框架的依赖,如JUnit。在pom.xml文件中,你需要添加JUnit依赖:<dependencies>...<......
  • Git详解
    一、Git简介1.1Git是什么?Git是一个分布式版本控制系统,用于跟踪文件的变化,尤其是源代码的管理。它允许多个开发者协同工作,跟踪代码的版本和历史记录,方便项目的管理和维护。1.2Git的主要功能版本控制:记录文件的变化历史,方便恢复和比较。分支管理:轻松创建、合并和删......
  • IntelliJ IDEA 中上传项目到 Gitee 的完整指南
    博主主页:【南鸢1.0】本文专栏:git目录简介1.插入intellij-gitee2.导入下载插件3.选择导航栏中的VCS->ShareProjectonGitee4.登录gitee6.验证gitee仓库是否创建成功7.上传分享项目8.验证仓库代码是否上传成功总结简介Gitee是一个代码托管平台,类似于GitHub......
  • wordpress无法显示gitee图床的图片
    wordpress无法显示gitee图床的图片Question:如题Solution:是防盗链的问题,gitee官网给出了防盗链的方法,而github貌似没有。Reference:你已经是个成熟的前端了,应该学会破解防盗链了gitee没法做图床了,除了老老实实迁移,难道就没其他办法吗?当然不是,我来-掘金(juejin.cn)在......
  • 码云gitee上的项目怎样运行
    为了在码云gitee上成功地运行项目,必须遵循以下步骤:一、克隆项目到本地;二、理解项目结构;三、配置必要的环境;四、执行项目运行命令;五、解决可能出现的问题。运行项目的首要任务是确保本地环境的完整性和与项目的兼容性。一、克隆项目到本地运行码云gitee上的项目的第一步是将......
  • 如何使用GitHub上传文件
    使用GitHub上传文件的方法:1.创建GitHub仓库;2.使用GitHubDesktop上传文件;3.使用命令行上传文件;4.检查GitHub仓库。在开始之前,您需要一个GitHub账号。如果还没有账号,您可以在GitHub官方网站上注册一个。1.创建GitHub仓库在开始之前,您需要一个GitHub账号。如果还没有账号,您可以......
  • Idea上Git仓库不见了是什么原因
    在使用IntelliJIDEA进行项目开发时,Git仓库突然消失是开发者常遇到的问题。该问题可能由多个因素引起,包括:1.环境配置问题;2.软件或插件更新;3.目录结构变更;4.用户权限问题;5.其他软件干扰。理解这些因素并采取相应的解决措施,不仅能快速恢复Git仓库,还能避免类似问题的再次出现。1.......
  • gitlab怎么保护分支
    ​GitLab作为一个流行的版本控制工具其中“分支保护”是一个关键功能,用以防止开发过程中的不当操作对代码造成不可逆的影响。本文将指导你如何在GitLab中保护分支:1.理解保护分支的重要性;2.学会使用GitLab的界面进行分支的保护操作;3.了解与合并请求的关联使用;4.探讨在保护分支中设......