一种maven工程的版本号的修改方法及装置【掌桥专利】 您所在的位置:网站首页 maven修改版本号 一种maven工程的版本号的修改方法及装置【掌桥专利】

一种maven工程的版本号的修改方法及装置【掌桥专利】

2023-03-18 12:18| 来源: 网络整理| 查看: 265

技术领域

本说明书一个或多个实施例涉及maven工程技术领域,尤其涉及一种maven工程的版本号的修改方法及装置。

背景技术

一个健康的maven工程通常会有版本的演变过程,在演变的过程中不可避免的会出现版本的迭代,在版本的迭代中就会涉及到版本号的变更。

现有技术中,开发人员需要手动对maven工程的版本号进行修改,如果当前maven工程下的子工程较多,则需要进行大量的调整版本号的操作,目前maven能够对工程自身的版本号进行修改;但如果涉及到多工程的依赖,则需要在各自依赖工程中进行版本号的修改,由于操作量过大,容易导致漏改、错改的情况,严重降低了版本号的变更效率。

发明内容

有鉴于此,本说明书一个或多个实施例的目的在于提出一种maven工程的版本号的修改方法及装置,以解决版本号的变更效率低下的问题。

基于上述目的,本说明书一个或多个实施例提供了一种maven工程的版本号的修改方法,包括:

获取目标工程的名称及对应的新版本号;

根据所述目标工程的名称在代码仓库中获取对应的目标工程;

从所述目标工程的主干拉取新的分支;

通过Jenkins将所述分支的代码检出,获取所述分支的代码;

获取所述分支的代码的根路径;

在所述根路径下执行用于更改所述分支的版本号的第一shell脚本;

获取所述根路径下的pom.xml;

在所述pom.xml中执行用于更改所述目标工程依赖jar包的版本号的第二shell脚本;

将所述第一shell脚本的执行结果和第二shell脚本的执行结果提交到所述代码仓库以保存。

作为一种可选的实施方式,所述在所述根路径下执行用于更改所述分支的版本号的第一shell脚本包括:

获取用于更改所述分支的版本号的第一shell脚本;

在所述根路径下执行所述第一shell脚本。

进一步的,所述第一shell脚本中包含所述分支的旧版本号、所述新版本号及修改范围。

作为一种可选的实施方式,所述在所述pom.xml中执行用于更改所述目标工程依赖jar包的版本号的第二shell脚本,包括:

获取用于更改所述目标工程依赖jar包的版本号的第二shell脚本;

在所述pom.xml下执行所述第二shell脚本。

进一步的,所述第二shell脚本中包含所述目标工程的名称及所述新版本号。

与所述修改方法相对应的,本发明实施例还提供了一种maven工程的版本号的修改装置,包括:

第一获取模组,用于获取目标工程的名称及对应的新版本号

第二获取模组,用于根据所述目标工程的名称在代码仓库中获取对应的目标工程;

第一执行模组,用于从所述目标工程的主干拉取新的分支;

第三获取模组,用于通过Jenkins将所述分支的代码检出,获取所述分支的代码;

第四获取模组,用于获取所述分支的代码的根路径;

第二执行模组,在所述根路径下执行用于更改所述分支的版本号的第一shell脚本;

第五获取模组,用于获取所述根路径下的pom.xml;

第三执行模组,用于在所述pom.xml中执行用于更改所述目标工程依赖jar包的版本号的第二shell脚本;

存储模组,用于将所述第一shell脚本的执行结果和所述第二shell脚本的执行结果提交到所述代码仓库以保存。

作为一种可选的实施方式,所述第二执行模组包括:

第一shell脚本单元,用于获取用于更改所述分支的版本号的第一shell脚本;

第一shell脚本执行单元,用于在所述根路径下执行所述第一shell脚本。

进一步的,所述第一shell脚本中包含所述分支的旧版本号、所述新版本号及修改范围。

作为一种可选的实施方式,所述第三执行模组包括:

第二shell脚本获取单元,用于获取用于更改所述目标工程依赖jar包的版本号的第二shell脚本;

第二shell脚本执行单元,用于在所述pom.xml下执行所述第二shell脚本。

进一步的,所述第二shell脚本中包含所述目标工程的名称及所述新版本号。

从上面所述可以看出,本说明书一个或多个实施例提供的一种maven工程的版本号的修改方法及装置,先将获取到的分支的代码检出并获得代码的根路径,再在根路径下执行编辑好的第一shell脚本,接着通过在根路径下获得的pom.xml中执行编辑好的第二shell脚本,能够同时完成对工程自身的版本号和工程依赖jar包的版本号的更改,从而降低了对maven工程版本号的修改的操作量,避免了漏改、错改的情况,提高了版本号的变更效率。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书一个或多个实施例版本号的修改方法的示意图;

图2为本说明书一个或多个实施例版本号的修改装置的示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本公开进一步详细说明。

为了实现上述发明目的,本发明实施例提供了一种maven工程的版本号的修改方法,包括:

获取目标工程的名称及对应的新版本号;

根据所述目标工程的名称在代码仓库中获取对应的目标工程;

从所述目标工程的主干拉取新的分支;

通过Jenkins将所述分支的代码检出,获取所述分支的代码;

获取所述分支的代码的根路径;

在所述根路径下执行用于更改所述分支的版本号的第一shell脚本;

获取所述根路径下的pom.xml;

在所述pom.xml中执行用于更改所述目标工程依赖jar包的版本号的第二shell脚本;

将所述第一shell脚本的执行结果和第二shell脚本的执行结果提交到所述代码仓库以保存。

本发明实施例中,先将获取到的分支的代码检出并获得代码的根路径,再在根路径下执行编辑好的第一shell脚本,接着通过在根路径下获得的pom.xml中执行编辑好的第二shell脚本,能够同时完成对工程自身的版本号和工程依赖jar包的版本号的更改,从而降低了对maven工程版本号的修改的操作量,避免了漏改、错改的情况,提高了版本号的变更效率。

请参考图1,本发明实施例提供了一种maven工程的版本号的修改方法,包括:

S100、获取目标工程的名称及对应的新版本号。

可选的,所述目标工程为计划进行代码开发的工程;所述maven为一个项目管理工具,其包含了一个项目对象模型,一组标准组合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的逻辑。

S200、根据所述目标工程的名称在代码仓库中获取对应的目标工程。

S300、从所述目标工程的主干拉取新的分支。

所述主干为待进行代码开发的目标工程,所述分支为进行代码开发的直接操作对象。

S400、通过Jenkins将所述分支的代码检出,获取所述分支的代码。

所述Jenkins为开源的、可提供操作界面的持续集成工具,主要用于持续、自动的构建和测试软件项目、监控外部任务的运行。

S500、获取所述分支的代码的根路径。

所述根路径是逻辑驱动器的最上一级目录,即存储子目录的目录。

S600、在所述根路径下执行用于更改所述分支的版本号的第一shell脚本。

作为一种可选的实施方式,所述在所述根路径下执行用于更改所述分支的版本号的第一shell脚本包括:

获取用于更改所述分支的版本号的第一shell脚本;

在所述根路径下执行所述第一shell脚本。

进一步的,所述第一shell脚本中包含所述分支的旧版本号、所述新版本号及修改范围。

S700、获取所述根路径下的pom.xml。

S800、在所述pom.xml中执行用于更改所述目标工程依赖jar包的版本号的第二shell脚本。

作为一种可选的实施方式,所述在所述pom.xml中执行用于更改所述目标工程依赖jar包的版本号的第二shell脚本,包括:

获取用于更改所述目标工程依赖jar包的版本号的第二shell脚本;

在所述pom.xml下执行所述第二shell脚本。

进一步的,所述第二shell脚本中包含所述目标工程的名称及所述新版本号。

S900、将所述第一shell脚本的执行结果和所述第二shell脚本的执行结果提交到所述代码仓库以保存。

通过将所述第二shell脚本的执行结果提交到所述代码仓库以保存,能够将所述目标工程的依赖关系记录在后台。

在完成上述版本号的修改方法的过程后,目标工程的开发人员即可对所述目标工程进行功能的开发。

需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

基于上面所述maven工程的版本号的修改方法的任意一个实施例,本发明还提供了一种maven工程的版本号的修改装置,如图2所示,包括:

第一获取模组10,用于获取目标工程的名称及对应的新版本号

第二获取模组20,用于根据所述目标工程的名称在代码仓库中获取对应的目标工程;

第一执行模组30,用于从所述目标工程的主干拉取新的分支;

第三获取模组40,用于通过Jenkins将所述分支的代码检出,获取所述分支的代码;

第四获取模组50,用于获取所述分支的代码的根路径;

第二执行模组60,在所述根路径下执行用于更改所述分支的版本号的第一shell脚本;

第五获取模组70,用于获取所述根路径下的pom.xml;

第三执行模组80,用于在所述pom.xml中执行用于更改所述目标工程依赖jar包的版本号的第二shell脚本;

存储模组90,用于将所述第一shell脚本的执行结果和所述第二shell脚本的执行结果提交到所述代码仓库以保存。

本发明实施例中,先将获取到的分支的代码检出并获得代码的根路径,再在根路径下执行编辑好的第一shell脚本,接着通过在根路径下获得的pom.xml中执行编辑好的第二shell脚本,能够同时完成对工程自身的版本号和工程依赖jar包的版本号的更改,从而降低了对maven工程版本号的修改的操作量,避免了漏改、错改的情况,提高了版本号的变更效率。

作为一种可选的实施方式,所述第二执行模组60包括:

第一shell脚本单元,用于获取用于更改所述分支的版本号的第一shell脚本;

第一shell脚本执行单元,用于在所述根路径下执行所述第一shell脚本。

进一步的,所述第一shell脚本中包含所述分支的旧版本号、所述新版本号及修改范围。

作为一种可选的实施方式,所述第三执行模组90包括:

第二shell脚本获取单元,用于获取用于更改所述目标工程依赖jar包的版本号的第二shell脚本;

第二shell脚本执行单元,用于在所述pom.xml下执行所述第二shell脚本。

进一步的,所述第二shell脚本中包含所述目标工程的名称及所述新版本号。

需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。

本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有