CN110737460A - 一种平台项目管理方法及装置 - Google Patents
一种平台项目管理方法及装置 Download PDFInfo
- Publication number
- CN110737460A CN110737460A CN201910832006.8A CN201910832006A CN110737460A CN 110737460 A CN110737460 A CN 110737460A CN 201910832006 A CN201910832006 A CN 201910832006A CN 110737460 A CN110737460 A CN 110737460A
- Authority
- CN
- China
- Prior art keywords
- item
- management
- platform
- software
- version number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 claims abstract description 16
- 230000001419 dependent effect Effects 0.000 claims description 79
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种平台项目管理方法及装置,其中,所述方法包括:构建依赖管理项目,所述依赖管理项目包含所述平台中所有软件项目的依赖;创建所述平台的配置文件,其中,所述配置文件记录有所述平台中所有软件项目的项目信息及依赖管理项目信息,所述项目信息包括软件项目的版本号,所述依赖管理项目信息包括所述依赖管理项目的版本号;将所述配置文件解析到项目管理工具中的属性文件中;在确定所述软件项目和所述依赖管理项目的版本号时,通过访问所述属性文件获取。本发明通过访问属性文件动态获取依赖的版本号,由于属性文件所记录的各软件项目的版本唯一,所以不会出现同一依赖对应两个不同版本的情况,也就不存在依赖冲突。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种平台项目管理方法及装置。
背景技术
随着计算机通信技术的发展,软件开发项目管理工具Maven得到了广泛的应用。Maven基于POM(Project Object Model,项目对象模型)来管理软件开发项目的构建,POM是Maven对一个单一软件项目的描述,通常以pom.xml文件形式存在。
当一个软件项目需要用到另外一个软件项目所发布的开发包时,需要在一个软件项目的POM中描述对于另外一个软件项目的依赖关系,包括版本信息等,这就是Maven依赖。目前,在Maven的使用过程中,软件项目之间的依赖关系会很复杂,在软件项目版本上的使用就很容易出现Maven依赖冲突的情况。例如,软件项目A分别依赖项目B和软件项目C,而软件项目B依赖版本为1.0的软件项目D,软件项目C则依赖版本为2.0的软件项目D,软件项目D的版本冲突,发生了Maven依赖冲突。
发明内容
为了解决在现有Maven的使用过程中,容易出现依赖冲突问题,本发明实施例提供了一种平台项目管理方法及装置。所述技术方案如下:
第一方面,提供了一种平台项目管理方法,所述方法包括:
构建依赖管理项目,所述依赖管理项目包含所述平台中所有软件项目的依赖;
创建所述平台的配置文件,其中,所述配置文件记录有所述平台中所有软件项目的项目信息及依赖管理项目信息,所述项目信息包括软件项目的版本号,所述依赖管理项目信息包括所述依赖管理项目的版本号;
将所述配置文件解析到项目管理工具中的属性文件中;
在确定所述软件项目和所述依赖管理项目的版本号时,通过访问所述属性文件获取。
可选的,所述依赖管理项目包含所述平台中所有软件项目及外部依赖。
可选的,所述方法还包括构建根项目和子项目,其中,所述子项目对应于所述软件项目,并以所述根项目为父项目,所述根项目依赖于所述依赖管理项目。
可选的,所述子项目通过所述根项目从所述依赖管理项目中获取依赖项目版本号。
可选的,所述根项目设有固定的版本号,并通过访问所述属性文件确定其所依赖的依赖管理项目的版本号。
可选的,所述依赖管理项目的管理文件中包含各所述依赖的项目信息,其中所述依赖的项目信息中的版本号通过访问所述属性文件确定。
第二方面,提供了一种平台项目管理装置,所述装置包括:
构建模块,用于构建依赖管理项目,所述依赖管理项目包含所述平台中所有软件项目的依赖;
创建模块,用于创建所述平台的配置文件,其中,所述配置文件记录有所述平台中所有软件项目的项目信息及依赖管理项目信息,所述项目信息包括软件项目的版本号,所述依赖管理项目信息包括所述依赖管理项目的版本号;
解析模块,用于将所述配置文件解析到项目管理工具中的属性文件中;
确定模块,用于在确定所述软件项目和所述依赖管理项目的版本号时,通过访问所述属性文件获取。
可选的,所述依赖管理项目包含所述平台中所有软件项目及外部依赖。
可选的,所述构建模块,还用于构建根项目和子项目,其中,所述子项目对应于所述软件项目,并以所述根项目为父项目,所述根项目依赖于所述依赖管理项目。
可选的,所述子项目通过所述根项目从所述依赖管理项目中获取依赖项目版本号。
可选的,所述根项目设有固定的版本号,并通过访问所述属性文件确定其所依赖的依赖管理项目的版本号。
第三方面,提供了一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的平台项目管理方法。
第四方面,提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的平台项目管理方法。
在本发明实施例中,创建有包括各软件项目版本号的配置文件,然后将配置文件解析到Maven的属性文件中,在确定软件项目所需的依赖的版本时,从属性文件中动态获取,由于属性文件所记录的各软件项目的版本唯一,所以不会出现同一依赖包对应两个不同版本的情况,也就不存在依赖冲突,在平台升级打包时不会由于依赖冲突而导致打包失败,并且由于每次平台版本升级时,均可以在原配置文件的基础上进行改进,所以可以直观的看出每次平台版本升级所需升级的软件项目,并且利用配置文件也方便统一管理平台所需的各软件项目。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的项目版本号在Maven中各项目、文件之间进行传递的流程示意图;
图2是本发明实施例提供的一种平台项目管理方法的流程图;
图3是本发明实施例提供的一种平台项目管理装置的结构框图;
图4是本发明实施例提供的一种电子设备的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的项目版本号在Maven中各项目、文件之间进行传递的流程示意图,图2是本发明实施例提供的一种平台项目管理方法的流程图。以下,参照图1和图2对本发明实施例提供的一种平台项目管理方法进行具体说明。
本发明实施例提供的一种平台项目管理方法应用于Maven,该方法具体包括以下步骤。
步骤201,构建根项目和子项目,其中,所述子项目对应于软件平台(以下简称“平台”)中的软件项目,并以所述根项目为父项目。
步骤202,构建依赖管理项目,所述依赖管理项目包含所述平台中所有软件项目的依赖。
在基于Maven的平台项目管理过程中,需要针对任一版本的平台构建子项目、根项目和依赖管理项目,其中,子项目对应于软件平台所包含的软件项目,并且,每一软件项目均可以对应一子项目。所有子项目以根项目为父项目,根项目依赖于依赖管理项目。本发明实施例构建的依赖管理项目包含平台中所有软件项目的依赖,该依赖是指被各软件项目依赖的项目,包含内部依赖及外部依赖,内部依赖是指被依赖的项目为软件平台中的软件项目,外部依赖是指被依赖的项目为软件平台之外的项目。
针对依赖管理项目的内部依赖,由于软件项目之间的依赖关系可能会发生变化,将平台中所有的软件项目放进去,可减少依赖管理项目的变更。在以下叙述中,如果没有对依赖进行具体限定,均指的是内部依赖。对于外部依赖的处理方式,可以采用与对内部依赖相似或相同的处理方式,本发明实施例对其不作具体限定。
子项目,对应于平台的软件项目,均对应有POM文件,在POM文件中描述自身软件项目对于另外一个软件项目的依赖关系。在具体应用中,平台的每个软件项目可以包括多个模块,软件项目之间的依赖可以是模块之间的依赖,例如软件项目1模块1依赖软件项目2模块2,在这种情况下,可将各模块对应为子项目。
在本实施例中,各子项目对应的POM文件中可指定依赖的名称,但是并不指定依赖具体的项目版本号。例如,在软件项目1模块1的POM文件中指定其与软件项目2模块2的依赖关系时,可以在软件项目1模块1的POM文件中指定依赖为:
上述4行字符串说明软件项目1模块1依赖软件项目2模块2,其中project2-module2表示软件项目1模块1的依赖的名称。
子项目通过根项目从依赖管理项目中获取依赖的项目版本号。进一步的,依赖管理项目中没有指定依赖的项目版本号,而是通过访问Maven的属性文件获取。对于子项目通过根项目从依赖管理项目中获取依赖的项目版本号的过程,将在步骤205中进行具体说明。以下,首先介绍如何将各依赖的版本号写入Maven的属性文件中。
步骤203,创建所述平台的配置文件,其中,所述配置文件记录有所述平台中所有软件项目的项目信息及依赖管理项目信息,所述项目信息包括软件项目的版本号,所述依赖管理项目信息包括所述依赖管理项目的版本号。
在开发平台时,或者升级平台版本时,可以创建一对应的配置文件,该配置文件记录有该平台中所有软件项目的项目信息及依赖管理项目信息,该项目信息包括软件项目的名称和版本号,所述依赖管理项目信息包括所述依赖管理项目的名称和版本号。为方便管理,依赖管理项目的版本号可以与平台的版本号相同。配置文件的格式可以是xml文件格式。
在升级平台版本时,可以在原配置文件,即开发原版本平台所使用的配置文件的基础上进行改进,例如新增软件项目信息,或者修改软件项目信息、以及调整软件项目的版本号等等,得到升级平台版本所需的新的配置文件。由于每次平台版本升级时,均可以在原配置文件的基础上进行改进,所以可以直观的看出每次平台版本升级所需升级的软件项目,并且利用配置文件也方便统一管理平台所需的各软件项目。
例如,有一个1.0.0版本的平台,包括版本号为1.1.0的软件项目1和版本号为1.2.0的软件项目2。那么,所创建的配置文件中包含如下内容:
<name>depends</name>
<version>1.0.0</version>
<name>project1</name>
<version>1.1.0</version>
<name>project2</name>
</version>2.2.0</version>。
其中,<name>depends</name><version>1.0.0</version>表示依赖管理项目信息,depends表示依赖管理项目的名称,1.0.0表示依赖管理项目的版本号;<name>project1</name><version>1.1.0</version>表示软件项目1的项目信息,project1表示软件项目1的名称,1.1.0表示软件项目1的版本号;<name>project2</name><version>1.2.0</version>表示软件项目2的项目信息,project2表示软件项目2的名称,1.2.0表示软件项目2的版本号。
并且,该配置文件的名称可以为平台的版本号,例如,配置文件的名称为1.0.0。
步骤204,将所述配置文件中的所述软件项目信息解析到项目管理工具中的属性文件中。
在创建完配置文件之后,将该配置文件解析到Maven的属性文件中。Maven的属性文件中包括每一版本平台对应的软件项目信息,每条软件项目信息包括软件项目的名称和版本号。当配置文件中与属性文件中的同一软件项目的版本号不同时,在将配置文件解析到属性文件中后,属性文件中该软件项目的版本号变更为配置文件中该软件项目的版本号,以对新版本平台对应的属性文件信息进行更新。例如,配置文件中软件项目1的版本号为1.1.2,属性文件软件项目1的版本号为1.1.1,在将配置文件解析到属性文件中后,属性文件中的软件项目1的版本号变为1.1.2。
在实施中,可以利用Maven extlib(扩展库)在Maven中构建用于解析配置文件的插件。利用该插件将配置文件中的所述软件项目信息解析到Maven的属性文件中,即解析到Maven的properties中。将需要说明的是,本发明实施例不对配置文件的解析方式进行具体限定。
步骤205,在确定所述软件项目和所述依赖管理项目的版本号时,通过访问所述属性文件获取。
子项目在确定依赖的项目版本号时,通过根项目从依赖管理项目中获取依赖的项目版本号。具体的,先确定子项目的父项目,即根项目,然后基于根项目的管理文件,例如POM文件指定的依赖,确定该根项目所依赖的依赖管理项目。根项目的管理文件中记录有所依赖的依赖管理项目的名称,但是没有明确所依赖的依赖管理项目的版本号,依赖管理项目的版本号需要通过访问属性文件获取,具体的,可以通过设置变量来动态引用访问属性文件中依赖管理项目的版本号。也就是说,可以在根项目的管理文件中设置依赖版本变量,所述依赖版本变量的值通过访问属性文件中依赖管理项目的版本号而获得,所述依赖版本变量的值即为所述根项目所依赖的依赖管理项目的版本号。例如,根项目的管理文件中可以记录有:
<artifactId>depends</artifactId>
<version>${depends.version}</version>
其中,depends表示依赖管理项目的名称,${depends.version}表示依赖版本变量。
由于根项目依赖于依赖管理项目,所以根项目可以设有固定的版本号,即使平台升级,依赖管理项目升级,根项目的版本号可以固定不变,相应的以根项目为子项目的POM文件中可明确指定根项目的版本号,且无需因版本升级而调整,进一步简化平台升级所需的工作量。
在实施中,根项目的POM文件中记录有其所依赖的依赖管理项目的名称以及版本号变量,该版本号变量的值通过访问属性文件中依赖管理项目的版本号而动态获得。所以,根项目在确定其依赖的依赖管理项目时,可以通过访问属性文件动态获得根项目所依赖的依赖管理项目的版本号,也就是说,在需要获取依赖管理项目版本号时,属性文件中的依赖管理项目版本号可以动态注入根项目中,而不需要将根项目中所依赖的依赖管理项目版本号写死,在平台升级时无需在根项目的POM文件中修改所依赖的依赖管理项目的版本号,提高了开发效率。
在确定出根项目所依赖的依赖管理项目之后,可以基于依赖管理项目的管理文件中依赖的项目信息确定依赖具体的项目版本号。依赖管理项目的管理文件中包含各依赖的项目信息,各依赖的项目信息可以以pom.xml格式保存在管理文件中。同样的,各依赖的项目信息包括依赖的名称,但是不明确指定依赖具体的项目版本号,依赖的项目信息中的项目版本号需要通过访问Maven的属性文件确定。在实施中,可以通过设置变量来动态引用访问属性文件中依赖的版本号。也就是说,依赖的项目信息可以包括依赖的名称和项目版本变量,项目版本变量可以表示为${XXX.version},其中,XXX表示软件项目名称。该项目版本变量的值通过访问属性文件中软件项目的版本号而获得。
例如,有一1.0.0版本的平台,该版本平台包括版本为1.1.0的软件项目1和版本为1.2.0的软件项目2,软件项目1和软件项目2均包括两个模块。依赖管理项目的版本为1.0.0,并且管理文件记录的依赖的项目信息有:
<artifacIdt>project1-moduler1</artifactId>
<version>${project1.version}</version>
<artifacIdt>project1-moduler2</artifactId>
<version>${project1.version}</version>
<artifacIdt>project2-moduler1</artifactId>
<version>${project2.version}</version>
<artifacIdt>project2-moduler2</artifactId>
<version>${project2.version}</version>。
以上4条依赖的项目信息依次为软件项目1模块1的信息,软件项目1模块2的信息,软件项目2模块1的信息,软件项目2模块2的信息,其中,artifactId表示依赖的名称,version表示依赖的项目版本号,${XXX.version}表示项目版本变量,通过引用Maven属性文件中XXX软件项目的版本号,获得${XXX.version}的值,例如${project1.version}的值,即为通过访问Maven属性文件中软件项目1的版本号而获得。
在本发明实施例中,从依赖管理项目中确定各软件项目所需的依赖的项目版本号时,通过访问属性文件动态获取,也就是说,在需要获取依赖版本号时,属性文件中的依赖的版本号可以动态注入依赖管理项目中,而不需要将依赖管理项目中依赖的版本号写死,所以平台升级时,不需要对依赖管理项目中依赖的版本号进行修改,而是只需修改配置文件即可,从而能够提高平台开发效率,并且由于属性文件所记录的各软件项目的版本唯一,所以不会出现同一依赖对应两个不同版本的情况,也就不存在依赖冲突,在平台升级打包时不会由于依赖冲突而导致打包失败。
本发明实施例利用依赖管理项目对平台的全部依赖进行集中管理,依赖管理项目包括各个软件项目所需的依赖的项目信息,在每个软件项目的POM文件中,无需明确写定依赖的版本,而只需说明本项目所需的依赖的名称,具体依赖的版本可以通过访问依赖管理项目获得,所以在平台版本升级时,无需对每个软件项目的POM文件中的依赖的版本进行修改,依赖管理更加方便。
在本发明实施例中,创建有包括各软件项目版本号的配置文件,然后将配置文件解析到Maven的属性文件中,在确定软件项目所需的依赖的版本时,从属性文件中动态获取,由于属性文件所记录的各软件项目的版本唯一,所以不会出现同一依赖包对应两个不同版本的情况,也就不存在依赖冲突,在平台升级打包时不会由于依赖冲突而导致打包失败,并且由于每次平台版本升级时,均可以在原配置文件的基础上进行改进,所以可以直观的看出每次平台版本升级所需升级的软件项目,并且利用配置文件也方便统一管理平台所需的各软件项目。
参照图3,为本发明实施例提供的一种平台项目管理装置的结构框图,所述装置包括:
构建模块301,用于构建依赖管理项目,所述依赖管理项目包含所述平台中所有软件项目的依赖;
创建模块302,用于创建所述平台的配置文件,其中,所述配置文件记录有所述平台中所有软件项目的项目信息及依赖管理项目信息,所述项目信息包括软件项目的版本号,所述依赖管理项目信息包括所述依赖管理项目的版本号;
解析模块303,用于将所述配置文件解析到项目管理工具中的属性文件中;
确定模块304,用于在确定所述软件项目和所述依赖管理项目的版本号时,通过访问所述属性文件获取。
优选的,所述依赖管理项目包含所述平台中所有软件项目及外部依赖。
优选的,所述构建模块301,还用于构建根项目和子项目,其中,所述子项目对应于所述软件项目,并以所述根项目为父项目,所述根项目依赖于所述依赖管理项目。
优选的,所述子项目通过所述根项目从所述依赖管理项目中获取依赖项目版本号。
优选的,所述根项目设有固定的版本号,并通过访问所述属性文件确定其所依赖的依赖管理项目的版本号。
在本发明实施例中,创建有包括各软件项目版本号的配置文件,然后将配置文件解析到Maven的属性文件中,在确定软件项目所需的依赖的版本时,从属性文件中动态获取,由于属性文件所记录的各软件项目的版本唯一,所以不会出现同一依赖包对应两个不同版本的情况,也就不存在依赖冲突,在平台升级打包时不会由于依赖冲突而导致打包失败,并且由于每次平台版本升级时,均可以在原配置文件的基础上进行改进,所以可以直观的看出每次平台版本升级所需升级的软件项目,并且利用配置文件也方便统一管理平台所需的各软件项目。
需要说明的是:上述实施例提供的平台项目管理装置可基于计算机程序实现,在执行项目管理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的执行平台项目管理装置与平台项目管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本发明实施例提供的电子设备的结构示意图。该电子设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在电子设备400上执行存储介质430中的一系列指令操作。
电子设备400还可以包括一个或一个以上电源424,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,一个或一个以上键盘454,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
电子设备400包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的平台项目管理方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种平台项目管理方法,其特征在于,所述方法包括:
构建依赖管理项目,所述依赖管理项目包含所述平台中所有软件项目的依赖;
创建所述平台的配置文件,其中,所述配置文件记录有所述平台中所有软件项目的项目信息及依赖管理项目信息,所述项目信息包括软件项目的版本号,所述依赖管理项目信息包括所述依赖管理项目的版本号;
将所述配置文件解析到项目管理工具中的属性文件中;
在确定所述软件项目和所述依赖管理项目的版本号时,通过访问所述属性文件获取。
2.根据权利要求1所述的方法,其特征在于,所述依赖管理项目包含所述平台中所有软件项目及外部依赖。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括构建根项目和子项目,其中,所述子项目对应于所述软件项目,并以所述根项目为父项目,所述根项目依赖于所述依赖管理项目。
4.根据权利要求3所述的方法,其特征在于,所述子项目通过所述根项目从所述依赖管理项目中获取依赖项目版本号。
5.根据权利要求3所述的方法,其特征在于,所述根项目设有固定的版本号,并通过访问所述属性文件确定其所依赖的依赖管理项目的版本号。
6.根据权利要求1所述的方法,其特征在于,
所述依赖管理项目的管理文件中包含各所述依赖的项目信息,其中所述依赖的项目信息中的版本号通过访问所述属性文件确定。
7.一种平台项目管理装置,其特征在于,所述装置包括:
构建模块,用于构建依赖管理项目,所述依赖管理项目包含所述平台中所有软件项目的依赖;
创建模块,用于创建所述平台的配置文件,其中,所述配置文件记录有所述平台中所有软件项目的项目信息及依赖管理项目信息,所述项目信息包括软件项目的版本号,所述依赖管理项目信息包括所述依赖管理项目的版本号;
解析模块,用于将所述配置文件解析到项目管理工具中的属性文件中;
确定模块,用于在确定所述软件项目和所述依赖管理项目的版本号时,通过访问所述属性文件获取。
8.根据权利要求7所述的装置,其特征在于,所述依赖管理项目包含所述平台中所有软件项目及外部依赖。
9.根据权利要求7所述的装置,其特征在于,
所述构建模块,还用于构建根项目和子项目,其中,所述子项目对应于所述软件项目,并以所述根项目为父项目,所述根项目依赖于所述依赖管理项目。
10.根据权利要求9所述的装置,其特征在于,所述子项目通过所述根项目从所述依赖管理项目中获取依赖项目版本号。
11.根据权利要求9所述的装置,其特征在于,所述根项目设有固定的版本号,并通过访问所述属性文件确定其所依赖的依赖管理项目的版本号。
12.根据权利要求7所述的装置,其特征在于,所述依赖管理项目的管理文件中包含各所述依赖的项目信息,其中所述依赖的项目信息中的版本号通过访问所述属性文件确定。
13.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的平台项目管理方法。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的平台项目管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910832006.8A CN110737460A (zh) | 2019-09-04 | 2019-09-04 | 一种平台项目管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910832006.8A CN110737460A (zh) | 2019-09-04 | 2019-09-04 | 一种平台项目管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737460A true CN110737460A (zh) | 2020-01-31 |
Family
ID=69267788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910832006.8A Pending CN110737460A (zh) | 2019-09-04 | 2019-09-04 | 一种平台项目管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737460A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309713A (zh) * | 2020-05-14 | 2020-06-19 | 深圳开源互联网安全技术有限公司 | Maven开源软件库的生成方法、装置及存储介质 |
CN111475422A (zh) * | 2020-06-28 | 2020-07-31 | 四川新网银行股份有限公司 | 一种基于Jenkins工具的依赖检查方法 |
CN112306543A (zh) * | 2020-11-13 | 2021-02-02 | 成都中科大旗软件股份有限公司 | 一种ios系统衍生项目的管理方法 |
CN112650505A (zh) * | 2020-12-21 | 2021-04-13 | 四川长虹电器股份有限公司 | 一种web项目生成部署配置方法 |
CN113342395A (zh) * | 2021-06-04 | 2021-09-03 | 中国工商银行股份有限公司 | 一种依赖包管理方法和装置 |
CN113377342A (zh) * | 2020-02-25 | 2021-09-10 | 武汉斗鱼鱼乐网络科技有限公司 | 一种项目构建方法、装置、电子设备及存储介质 |
CN113535138A (zh) * | 2020-04-15 | 2021-10-22 | 北京华为数字技术有限公司 | 软件项目打包方法及相关设备 |
WO2022199160A1 (zh) * | 2021-03-25 | 2022-09-29 | 京东科技控股股份有限公司 | 解决组件版本冲突的方法、设备和存储介质 |
CN117667080A (zh) * | 2023-12-15 | 2024-03-08 | 北京安普诺信息技术有限公司 | 一种sca组件依赖信息的确定方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760184A (zh) * | 2014-12-18 | 2016-07-13 | 深圳云之家网络有限公司 | 一种加载组件的方法和装置 |
US20160246593A1 (en) * | 2015-02-25 | 2016-08-25 | Red Hat, Inc. | Applying Configuration Alignment in Build Projects |
CN106371838A (zh) * | 2016-08-31 | 2017-02-01 | 福建联迪商用设备有限公司 | 一种维护软件包依赖关系的方法及系统 |
CN108334334A (zh) * | 2018-03-07 | 2018-07-27 | 政采云有限公司 | 一种管理依赖包版本的方法和系统 |
-
2019
- 2019-09-04 CN CN201910832006.8A patent/CN110737460A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760184A (zh) * | 2014-12-18 | 2016-07-13 | 深圳云之家网络有限公司 | 一种加载组件的方法和装置 |
US20160246593A1 (en) * | 2015-02-25 | 2016-08-25 | Red Hat, Inc. | Applying Configuration Alignment in Build Projects |
CN106371838A (zh) * | 2016-08-31 | 2017-02-01 | 福建联迪商用设备有限公司 | 一种维护软件包依赖关系的方法及系统 |
CN108334334A (zh) * | 2018-03-07 | 2018-07-27 | 政采云有限公司 | 一种管理依赖包版本的方法和系统 |
Non-Patent Citations (2)
Title |
---|
PINEBUD55: "Maven 多项目依赖版本管理(Maven Multi Project version management)", 《CSDN HTTPS://BLOG.CSDN.NET/PINEBUD55/ARTICLE/DETAILS/78667299》 * |
夜舞倾城: "学习Maven之Properties Maven Plugin(编译时动态获取properties参数)", 《CSDN HTTPS://BLOG.CSDN.NET/BAO19901210/ARTICLE/DETAILS/52400890》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377342B (zh) * | 2020-02-25 | 2024-01-19 | 南昌节点汇智科技有限公司 | 一种项目构建方法、装置、电子设备及存储介质 |
CN113377342A (zh) * | 2020-02-25 | 2021-09-10 | 武汉斗鱼鱼乐网络科技有限公司 | 一种项目构建方法、装置、电子设备及存储介质 |
CN113535138A (zh) * | 2020-04-15 | 2021-10-22 | 北京华为数字技术有限公司 | 软件项目打包方法及相关设备 |
CN113535138B (zh) * | 2020-04-15 | 2023-09-29 | 北京华为数字技术有限公司 | 软件项目打包方法及相关设备 |
CN111309713B (zh) * | 2020-05-14 | 2020-08-18 | 深圳开源互联网安全技术有限公司 | Maven开源软件库的生成方法、装置及存储介质 |
CN111309713A (zh) * | 2020-05-14 | 2020-06-19 | 深圳开源互联网安全技术有限公司 | Maven开源软件库的生成方法、装置及存储介质 |
CN111475422A (zh) * | 2020-06-28 | 2020-07-31 | 四川新网银行股份有限公司 | 一种基于Jenkins工具的依赖检查方法 |
CN112306543A (zh) * | 2020-11-13 | 2021-02-02 | 成都中科大旗软件股份有限公司 | 一种ios系统衍生项目的管理方法 |
CN112306543B (zh) * | 2020-11-13 | 2023-08-29 | 成都中科大旗软件股份有限公司 | 一种ios系统衍生项目的管理方法 |
CN112650505A (zh) * | 2020-12-21 | 2021-04-13 | 四川长虹电器股份有限公司 | 一种web项目生成部署配置方法 |
WO2022199160A1 (zh) * | 2021-03-25 | 2022-09-29 | 京东科技控股股份有限公司 | 解决组件版本冲突的方法、设备和存储介质 |
CN113342395A (zh) * | 2021-06-04 | 2021-09-03 | 中国工商银行股份有限公司 | 一种依赖包管理方法和装置 |
CN117667080A (zh) * | 2023-12-15 | 2024-03-08 | 北京安普诺信息技术有限公司 | 一种sca组件依赖信息的确定方法、装置、设备及介质 |
CN117667080B (zh) * | 2023-12-15 | 2024-05-28 | 北京安普诺信息技术有限公司 | 一种sca组件依赖信息的确定方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737460A (zh) | 一种平台项目管理方法及装置 | |
US11106459B2 (en) | Distributed parallel build system | |
CN107766126B (zh) | 容器镜像的构建方法、系统、装置及存储介质 | |
US10481884B2 (en) | Systems and methods for dynamically replacing code objects for code pushdown | |
CN110912724B (zh) | 一种基于参数驱动的自动业务编排方法及装置 | |
US20240045850A1 (en) | Systems and methods for database orientation transformation | |
US8281012B2 (en) | Managing parallel data processing jobs in grid environments | |
CN110275861B (zh) | 数据存储方法及装置、存储介质、电子装置 | |
US8381176B1 (en) | Software build orchestration framework | |
US9575735B2 (en) | Application template creation and management | |
WO2020015191A1 (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
US10514898B2 (en) | Method and system to develop, deploy, test, and manage platform-independent software | |
CN111125064B (zh) | 一种生成数据库模式定义语句的方法和装置 | |
CN108595187A (zh) | 安卓安装包集成软件开发工具包的法、装置及存储介质 | |
CN112769706B (zh) | 组件化路由方法及系统 | |
US7539992B2 (en) | Scheduling method, program product for use in such method, and task scheduling apparatus | |
US10514940B2 (en) | Virtual application package reconstruction | |
CN112068874A (zh) | 软件项目持续集成方法、装置、终端设备和存储介质 | |
CN113377342B (zh) | 一种项目构建方法、装置、电子设备及存储介质 | |
US11573777B2 (en) | Method and apparatus for enabling autonomous acceleration of dataflow AI applications | |
CN114416099A (zh) | 一种基于信息物理系统的模型集成方法及相关组件 | |
US10958514B2 (en) | Generating application-server provisioning configurations | |
CN116028108B (zh) | 一种依赖包安装用时分析方法、装置、设备及存储介质 | |
US20240103853A1 (en) | Code maintenance system | |
US9870257B1 (en) | Automation optimization in a command line interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200131 |
|
RJ01 | Rejection of invention patent application after publication |