统一管理多个工程中配置文件的方法、装置及系统与流程

文档序号:14505142阅读:384来源:国知局

本发明涉及计算机技术及软件领域,尤其涉及一种统一管理多个工程中配置文件的方法、装置及系统。



背景技术:

在web系统开发过程中,经常会将业务系统拆分成多个不同的web工程。每个web工程中存在大量的配置文件,而这些配置文件的内容往往存在很多重复的内容。在系统开发过程中,常常发生某个配置项需要修改的情况,而一个配置项的修改,往往涉及众多包含该配置项的web工程的原有配置文件的修改。

现有技术中,一般相同的配置文件在需要使用的工程中全部配置一次,一旦某个配置信息发生修改,就需要在全部工程中进行查找修改,而不断重复地配置信息修改,很容易出现配置错误和漏掉某个修改的问题。



技术实现要素:

有鉴于此,本发明提供一种统一管理多个工程中配置文件的方法、装置及系统,能够将多个工程的公共配置文件统一管理,在打包过程中统一替换多个工程中的原有配置文件,以实现从源头修改一次配置信息就可以使所有工程中涉及的该配置信息生效。

为实现上述目的,根据本发明的一个方面,提供了一种统一管理多个工程中配置文件的方法。

本发明的一种统一管理多个工程中配置文件的方法包括:创建并保存公共配置文件,所述公共配置文件为用于替换多个工程中相同的、需要修改的原有配置文件的文件;在多个工程的pom.xml配置文件中相应地配置maven插件信息及参数信息;各工程打包过程中,根据所述maven插件信息调用maven插件,所述maven插件根据所述参数信息获取公共配置文件,并利用所述公共配置文件替换工程中原有配置文件。

可选地,保存公共配置文件还包括:将所述公共配置文件保存在工程内部和/或本地电脑和/或数据库中。

可选地,所述方法还包括:若将所述公共配置文件保存在数据库中,则在多个工程的pom.xml配置文件中还相应地配置数据库依赖参数,以方便从数据库中获取公共配置文件。

可选地,所述maven插件信息包括:maven插件的artifactid、version,所述参数信息包括:是否启用插件、公共配置文件编码格式、原有配置文件路径、公共配置文件参数内容来源以及替换规则。

可选地,所述替换规则是指利用所述公共配置文件替换或更新工程中原有配置文件。

为实现上述目的,根据本发明的另一方面,提供了一种统一管理多个工程中配置文件的装置。

本发明的一种统一管理多个工程中配置文件的装置包括:保存模块,用于创建并保存公共配置文件,所述公共配置文件为用于替换多个工程中相同的、需要修改的原有配置文件的文件;配置模块,用于在多个工程的pom.xml配置文件中相应地配置maven插件信息及参数信息;替换模块,用于在各工程打包过程中,根据所述maven插件信息调用maven插件,所述maven插件根据所述参数信息获取公共配置文件,并利用所述公共配置文件替换工程中原有配置文件。

可选地,所述保存模块还用于:将所述公共配置文件保存在工程内部和/或本地电脑和/或数据库中。

可选地,所述装置还用于:若保存模块将所述公共配置文件保存在数据库中,则配置模块还用于在多个工程的pom.xml配置文件中相应地配置数据库依赖参数,以方便从数据库中获取公共配置文件。

可选地,所述maven插件信息包括:maven插件的artifactid、version,所述参数信息包括:是否启用插件、公共配置文件编码格式、原有配置文件路径、公共配置文件参数内容来源以及替换规则。

可选地,所述替换规则是指利用所述公共配置文件替换或更新工程中原有配置文件。

为实现上述目的,根据本发明的再一方面,提供了一种统一管理多个工程中配置文件的系统。

本发明的一种统一管理多个工程中配置文件的系统包括:存储器和处理器,其中,所述存储器用于存储指令;所述处理器被配置为根据所述指令执行下列动作:创建并保存公共配置文件,所述公共配置文件为用于替换多个工程中相同的、需要修改的原有配置文件的文件;在多个工程的pom.xml配置文件中相应地配置maven插件信息及参数信息;各工程打包过程中,根据所述maven插件信息调用maven插件,所述maven插件根据所述参数信息获取公共配置文件,并利用所述公共配置文件替换工程中原有配置文件。

根据本发明的技术方案,通过将多个工程的公共配置文件统一保存,从而可以实现公共配置文件的统一更新和管理;通过利用maven插件打包web工程,从而能够实现统一替换多个工程中的原有配置文件,同时也避免了工程中某一个配置信息内容发生变化后,系统中所有该配置内容都需要进行手动修改的问题,防止了在修改过程中可能出现的修改错误和修改遗漏等现象的发生。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明实施例的统一管理多个工程中配置文件的方法的主要步骤的示意图;

图2是根据本发明实施例的统一管理多个工程中配置文件的方法的工程打包过程中调用maven插件的流程示意图;

图3是根据本发明实施例的统一管理多个工程中配置文件的方法中利用maven插件修改原有配置文件的流程示意图;

图4是根据本发明实施例的统一管理多个工程中配置文件的装置的主要模块的示意图;

图5是根据本发明实施例的统一管理多个工程中配置文件的系统的主要部分的示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

本发明实施例中,通过将用于替换多个工程中相同的、需要修改的原有配置文件的公共配置文件放到统一的地方进行管理(例如可以但不限于是工程内部、本地电脑的某个位置或者是数据库中),在web系统打包的过程中,maven插件通过读取工程中pom.xml文件中的配置参数信息,读取公共配置文件中的配置信息,然后利用公共配置文件替换将要打包的各web工程的原有配置文件,实现一次修改各个配置点全部生效,防止出现配置错误或者是配置遗漏的问题。

图1是根据本发明实施例的统一管理多个工程中配置文件的方法的主要步骤的示意图。

如图1所示,本发明实施例的统一管理多个工程中配置文件的方法主要包括如下步骤:

步骤s11:创建并保存公共配置文件,所述公共配置文件为用于替换多个工程中相同的、需要修改的原有配置文件的文件。本步骤的目的在于实现公共配置文件的统一更新和管理。所述公共配置文件可以保存在工程内部和/或本地电脑和/或数据库中。

步骤s12:在多个工程的pom.xml配置文件中相应地配置maven插件信息及参数信息。本发明实施例中,事先需要将编辑好的maven插件保存在web系统的仓库中,然后在涉及的各个工厂中配置maven插件信息,以便实现对maven插件命令的调用。

所述maven插件信息可以但不限于包括:maven插件的artifactid、version,所述参数信息可以但不限于包括:是否启用插件、公共配置文件编码格式、原有配置文件路径、公共配置文件参数内容来源以及替换规则。

如果在前述步骤s11中,将所述公共配置文件保存在数据库中,则在多个工程的pom.xml配置文件中还相应地配置数据库依赖参数,以方便从数据库中获取公共配置文件。

步骤s13:各工程打包过程中,根据所述maven插件信息调用maven插件,所述maven插件根据所述参数信息获取公共配置文件,并利用所述公共配置文件替换工程中原有配置文件。其中,根据前述替换规则,本发明实施例中对原有配置文件的替换包括是指利用所述公共配置文件替换或更新工程中原有配置文件。

图2是根据本发明实施例的统一管理多个工程中配置文件的方法的工程打包过程中调用maven插件的流程示意图;图3是根据本发明实施例的统一管理多个工程中配置文件的方法中利用maven插件修改原有配置文件的流程示意图;以下结合图2和图3对本发明实施例的统一管理多个工程中配置文件的方法的流程进行详细说明。

本发明实施例中,在工程打包过程中调用maven插件之前,需要进行第一步,即在相应的工程pom.xml配置文件中配置本发明实施例中的maven插件,而且在pom.xml配置文件的节点中需要配置相应的参数信息,例如生成的配置文件编码格式、工程中原有配置文件的路径、是否覆盖已有配置文件、配置文件参数内容来源(即公共配置文件位于哪个地方,例如可以是本地电脑磁盘中,或者数据库中)等参数,然后在打包过程调用maven插件使用命令。

具体而言,配置maven插件信息及相关参数信息的过程如下:

a)在pom.xml配置文件的插件plugin节点中配置本发明实施例中的插件plugin,即maven插件的信息,其中包括插件plugin的artifactid、version、configuration参数内容。

b)如果公共配置文件是保存到数据库当中,则在使用中需要连接数据库读取公共配置文件的内容,所以需要配置数据库驱动的jar包依赖,即需要在插件plugin节点的子节点中配置依赖dependency参数(如果不采用数据库的方式存储公共配置文件,则该步骤可以省略)。

c)在插件plugin节点中配置configuration参数内容,该节点中包括本发明实施例plugin插件需要的信息,包括但不限于:skip(是否启用本插件)、encoding参数(公共配置文件编码格式)、iscover(是否覆盖原有配置文件)、datasouce(连接数据库参数内容,如不使用数据库,则不用配置)。

d)在步骤c)中的插件plugin节点中配置替换规则createrules信息,配置替换内容相关参数内容,包括公共配置文件所在路径,需要替换的工程中原有配置文件的相对路径等内容。

在完成前述第一步的在工程中配置maven插件及相关的参数信息后,就可以进行第二步——利用maven插件进行工程打包。本发明实施例中,maven插件在使用过程中会首先读取前述pom.xml配置文件中的参数信息,根据读取的参数信息确定公共配置文件的来源,判断公共配置文件是来源于本地静态文件,还是需要从数据库中读取。如果公共配置文件是来源是本地固定路径,则可以直接读取该路径下的公共配置文件内容;如果公共配置文件来源于统一配置的数据库,则需要根据依赖的数据库驱动和数据源的连接用户名、密码等内容连接到远程数据库,然后利用预先配置的sql语句直接从数据库中查询公共配置文件内容,加载到内存中。

具体获取公共配置文件的过程如下:

a)如果公共配置文件来源于本地磁盘文件路径,则通过java的properties.java中的相关方法将本地磁盘路径中的公共配置文件参数内容读取到内存中。

b)如果公共配置文件来源于数据库,则通过配置的datasouce参数将内容读取到内存中,其中datasouce参数需要包含driverurl、username、password参数,用于连接数据库,还需要配置一条读取公共配置文件参数内容的sql语句,用户在连接到数据库之后从数据库表中读取公共配置文件参数内容,读取到内容中以map的key/value形式缓存到内存中。

接下来,第三步,就是利用第二步获取到的公共配置文件的参数内容进行工程中原有配置文件的替换操作。如果配置的替换规则信息为直接生成新文件,则在工程中新创建配置文件,并将获取到的公共配置文件的参数内容写入新创建的配置文件中;如果工程中已经存在同名配置文件则覆盖掉;如果配置的替换规则是更新原有配置文件内容,则将获取到的公共配置文件的参数内容以更新的方式写入到原有配置文件中。

本发明实施例中,可能存在如下情况:一个工程中可能多个配置文件都需要替换,则每个原有配置文件都有相应的路径。则在写入过程中,需要根据pom.xml配置文件中配置的路径规则,更新所有配置路径下的配置文件,不能出现遗漏。

具体而言,替换过程如下:

a)如果在即将打包的web工程中不存在与公共配置文件同名的配置文件,则需要新生成配置文件,即只需要将第二步内存中缓存的公共配置文件的内容信息通过java文件输出流的方式写入到配置的指定路径中即可;

b)如果web工程中已经存在了指定的原有配置文件,需要更新该原有配置文件中的内容,则首先需要将工程中已经存在的原有配置文件内容从本地磁盘中通过java输入流的方式读入到内存中,并以key/value的形式缓存到内存中。然后与内存中已有的公共配置文件的内容进行循环比对,如果存在相同的key值内容,则将第二步map中的key值对应的value内容替换到本步骤中map中,如果第二步中map中内容在本步骤的map中不存在,则将该信息直接添加到本步骤的map中。

最终完成替换之后,再以文件输入流的方式将本步骤map中的信息覆盖到原有配置文件中。这样做的目的在于,原有配置文件是位于工程本地磁盘中。替换或者更新时,先将原有配置文件从本地磁盘读取到内存中,然后与第二步已经读取到内存中的公共配置文件对比。计算出需要保存的数据,最后将需要保存的数据固定到工程本地磁盘中。

根据本发明实施例的统一管理多个工程中配置文件的方法可以看出,通过将多个工程的公共配置文件统一保存,从而可以实现公共配置文件的统一管理和更新;通过利用maven插件打包web工程,从而能够实现统一替换多个工程中的原有配置文件,同时也避免了工程中某一个配置信息内容发生变化后,系统中所有该配置内容都需要进行手动修改的问题,防止了在修改过程中可能出现的修改错误和修改遗漏等现象的发生。

图4是根据本发明实施例的统一管理多个工程中配置文件的装置的主要模块的示意图。

如图4所示,本发明实施例的一种统一管理多个工程中配置文件的装置40主要包括如下模块:保存模块401、配置模块402以及替换模块403,其中,

保存模块401用于创建并保存公共配置文件,所述公共配置文件为用于替换多个工程中相同的、需要修改的原有配置文件的文件;配置模块402用于在多个工程的pom.xml配置文件中相应地配置maven插件信息及参数信息;替换模块403用于在各工程打包过程中,根据所述maven插件信息调用maven插件,所述maven插件根据所述参数信息获取公共配置文件,并利用所述公共配置文件替换工程中原有配置文件。

所述maven插件信息包括:maven插件的artifactid、version,所述参数信息包括但不限于:是否启用插件、公共配置文件编码格式、原有配置文件路径、公共配置文件参数内容来源以及替换规则。所述替换规则是指利用所述公共配置文件替换或更新工程中原有配置文件。

其中,保存模块401还可用于:将所述公共配置文件保存在工程内部和/或本地电脑和/或数据库中。

本发明实施例中,所述装置40还用于:若保存模块401将所述公共配置文件保存在数据库中,则配置模块402还用于在多个工程的pom.xml配置文件中相应地配置数据库依赖参数,以方便从数据库中获取公共配置文件。

图5是根据本发明实施例的统一管理多个工程中配置文件的系统的主要部分的示意图。

本发明实施例的一种统一管理多个工程中配置文件的系统50包括:存储器501和处理器502,其中,所述存储器501用于存储指令;所述处理器502被配置为根据所述指令执行下列动作:创建并保存公共配置文件,所述公共配置文件为用于替换多个工程中相同的、需要修改的原有配置文件的文件;在多个工程的pom.xml配置文件中相应地配置maven插件信息及参数信息;各工程打包过程中,根据所述maven插件信息调用maven插件,所述maven插件根据所述参数信息获取公共配置文件,并利用所述公共配置文件替换工程中原有配置文件。

从以上描述可以看出,通过将多个工程的公共配置文件统一保存,从而可以实现公共配置文件的统一管理和更新;通过利用maven插件打包web工程,从而能够实现统一替换多个工程中的原有配置文件,同时也避免了工程中某一个配置信息内容发生变化后,系统中所有该配置内容都需要进行手动修改的问题,防止了在修改过程中可能出现的修改错误和修改遗漏等现象的发生。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1