CN111783103A - 基于Maven的依赖管理方法、装置、电子装置及存储介质 - Google Patents

基于Maven的依赖管理方法、装置、电子装置及存储介质 Download PDF

Info

Publication number
CN111783103A
CN111783103A CN202010630727.3A CN202010630727A CN111783103A CN 111783103 A CN111783103 A CN 111783103A CN 202010630727 A CN202010630727 A CN 202010630727A CN 111783103 A CN111783103 A CN 111783103A
Authority
CN
China
Prior art keywords
dependency
maven
tree
project
server
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
Application number
CN202010630727.3A
Other languages
English (en)
Inventor
杨旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010630727.3A priority Critical patent/CN111783103A/zh
Publication of CN111783103A publication Critical patent/CN111783103A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Abstract

本申请涉及一种基于Maven的依赖管理方法,方法包括:响应于项目构建指令,获取项目的Maven依赖树;根据Maven依赖树对项目进行依赖校验;若依赖校验不通过,则停止项目构建并反馈漏洞信息;若依赖校验通过,则继续项目构建并将Maven依赖树与构建得到的包文件信息关联存储于服务器中。本申请提供的基于Maven的依赖管理方法,在进行项目构建时,不仅对Maven依赖进行校验以避免存在漏洞的依赖被调用,还在校验合格后将调用的依赖形成的依赖树信息与构建生成的包文件信息进行关联并保存于服务器中,如此当新发布漏洞信息时,确定包含该漏洞信息的依赖,并在服务器中检索到包含该依赖的依赖树,并确定与该依赖树关联的包文件信息,可以快速定位到服务器中存在漏洞的依赖。

Description

基于Maven的依赖管理方法、装置、电子装置及存储介质
技术领域
本发明属于计算机技术领域,尤其涉及一种基于Maven的依赖管理方法、装置、电子装置及存储介质。
背景技术
Maven,中文含义为“专家”、“内行”,是Web服务器软件Apache下的一个纯Java开发的一个开源项目。基于项目对象模型(Project Object Model,POM)概念,Maven利用一个中央信息片段能管理一个项目的构建、报告和文档等步骤。Maven是一个项目管理工具,可以对Java项目进行构建以及依赖管理。
Maven的一个核心特性就是依赖管理,当我们处理多模块的项目时,模块检的依赖关系就变得非常复杂,管理也变得很困难,而对于这种情形,Maven提供了一种高度控制的方法。
当一个新的安全漏洞被报道后,使用该版本依赖的项目需要整改,目前一般是内部发文提示,并在构建项目流程进行卡点,但该方法仅能对后续构建的项目依赖进行臊面卡点,无法对已经部署在服务器中的项目依赖进行更新。对于已经部署在服务器中的项目依赖,难以定位排查。
发明内容
本申请提供一种基于Maven的依赖管理方法、装置、电子装置及存储介质,用于解决目前在新的安全漏洞被报道后,已经部署在服务器中存在漏洞的项目依赖难以定位排查的技术问题。
本申请第一方面提供一种基于Maven的依赖管理方法,方法包括:
响应于项目构建指令,获取所述项目的Maven依赖树;
根据所述Maven依赖树对所述项目进行依赖校验;
若依赖校验不通过,则停止所述项目构建并反馈漏洞信息;
若依赖校验通过,则继续所述项目构建并将所述Maven依赖树与构建得到的包文件信息关联存储于服务器中。
本申请第二方面提供一种指纹验证登录装置,装置包括:
获取模块,用于响应于项目构建指令,获取所述项目的Maven依赖树;
校验模块,用于根据所述Maven依赖树对所述项目进行依赖校验;
漏洞反馈模块,用于若依赖校验不通过,则停止所述项目构建并反馈漏洞信息;
存储模块,用于若依赖校验通过,则继续所述项目构建并将所述Maven依赖树与构建得到的包文件信息关联存储于服务器中。
本申请第三方面提供一种电子装置,包括存储器、处理器以及存储在所述存储器上可以被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时,实现第一方面提供的基于Maven的依赖管理方法中的步骤。
本申请第四方面提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面提供的基于Maven的依赖管理方法中的步骤。
从上述本申请实施例可知,本申请提供的基于Maven的依赖管理方法,方法包括:响应于项目构建指令,获取项目的Maven依赖树;根据Maven依赖树对项目进行依赖校验;若依赖校验不通过,则停止项目构建并反馈漏洞信息;若依赖校验通过,则继续项目构建并将Maven依赖树与构建得到的包文件信息关联存储于服务器中。本申请提供的基于Maven的依赖管理方法,在每次进行项目构建时,不仅对Maven依赖进行校验以避免存在漏洞的依赖被调用,还在校验合格后将调用的依赖形成的依赖树信息与构建生成的包文件信息进行关联并保存于服务器中。如此当新发布漏洞信息时,确定包含该漏洞信息的依赖,并在服务器中检索到包含该依赖的依赖树,并确定与该依赖树关联的包文件信息,从而可以快速定位到服务器中存在漏洞的依赖。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的基于Maven的依赖管理方法的流程示意图;
图2为本申请提供的基于Maven的依赖管理装置的结构示意图;
图3为本申请提供的一种电子装置的结构示意图。
具体实施方式
为使得本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
互联网时代,软件的更新迭代非常迅速,用户需求也是日新月异。为应对快速变化的需求,就需要提高软件开发能力。敏捷软件开发(agile software development,ASD)是上世纪九十年代开始逐渐引起广泛关注的新型软件开发方式,它更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本。该方法提出了持续集成(continuous integration,CI)以及持续部署(continuous deployment,CD)概念。
在CI环境中,开发人员会频繁地向主干提交代码。而CD可以加速与客户的反馈循环,开发人员构建的项目在完成后几分钟就可以上线了。因此用户在利用Maven插件进行CI项目构建时,更需要对Maven依赖进行提前校验,避免存在漏洞的依赖被引用,导致呈现在客户面前的项目结果存在漏洞。目前依赖管理方法多在项目构建阶段对Maven依赖进行校验,当校验确定存在有漏洞的依赖时,便对项目构建过程进行卡点操作,避免存在漏洞的依赖被引用到项目中。但当新发布漏洞消息时,对已经部署在服务器中项目中存在漏洞的依赖,难以定位排查。
为解决上述问题,本申请提供了一种基于Maven的依赖管理方法,如图1所示,为本申请提供的基于Maven的依赖管理方法的流程示意图,该方法包括如下步骤:
步骤101,响应于项目构建指令,获取项目的Maven依赖树。
在本申请实施例中,当用户在CI环境中利用Maven插件进行项目构建时,用户会填写相应参数以及环境。当系统接收到用户输入的参数和环境后,确定用户下达了进行项目构建的指令。在进行项目构建之前,先对项目的Maven依赖树。具体地,服务器会拉取项目代码,并对Maven依赖进行扫描,通过mvn dependency:tree指令,获取到项目的依赖树结构。
进一步地,获取项目的Maven依赖树,包括:
获取项目的声明文件中所有Maven依赖文件及其依赖关系;
根据所有Maven依赖文件及各依赖文件之间的依赖关系生成依赖树。
在本申请实施例中,服务器在拉取项目代码后,得到声明文件pom.xml,对该声明文件进行扫描,得到用于该项目的所有Maven依赖文件以及各依赖文件之间的依赖关系,再根据扫描得到的Maven文件以及各文件之间的依赖关系生成Maven依赖树。
步骤102,根据Maven依赖树对项目进行依赖校验。
在本申请实施例中,在获取到项目的Maven依赖树之后,需要对依赖树中的依赖文件进行校验,以确定项目引用的依赖文件是否存在漏洞,避免有漏洞的依赖文件被项目引用导致项目安全性收到影响。
具体地,根据Maven依赖树对项目进行依赖校验,包括:
获取Maven依赖文件的依赖名称以及版本信息;
根据依赖名称以及版本信息,并基于预设的校验规则对Maven依赖文件进行校验;
若所有Maven依赖文件校验结果都合格,则判定校验通过;
若存在Maven依赖文件校验不合格,则判定校验不通过。
在本申请实施例中,服务器对项目的声明文件进行扫描,获取到用于该项目的所有Maven依赖文件,对这些Maven依赖文件的文件名以及版本号进行提取。可以理解的是,每个Maven依赖文件都由一组唯一的标识符(包括文件名和版本号)进行标识,不同的Maven依赖文件的文件名及版本号的组合一定不同。文件名称和版本号均可以为一串数字组成的字符串,例如文件名可以为10001,版本为1.1.1。当同一版本中Maven依赖文件较多时,还可以对依赖名称进行分组,如01组第10001号文件。如此,则还需要对Maven依赖文件的组号进行提取。
对Maven依赖文件进行校验,往往是将公开了具有漏洞的Maven依赖文件的信息与引用的Maven依赖文件的信息进行比对。可以现在后台设置具有漏洞的Maven依赖文件,再将提取的Maven依赖文件的文件名和版本号与具有漏洞的Maven依赖文件的文件名和版本号进行比对。若提取的Maven依赖文件的文件名和版本号与具有漏洞的Maven依赖文件的文件名和版本号一直,则确定该依赖文件存在危害。
另外,由于网络运行环境变化较快,随时可能有新的安全漏洞被发布,也就对应有部分依赖文件变得存在危害。因此需要实时对后台设置的具有漏洞的Maven依赖文件进行更新。可以由工作人员进行手动更新,也可以将服务器与漏洞发布平台进行联网,并实时获取漏洞发布平台发布的漏洞信息。服务器根据漏洞发布平台发布的新的漏洞信息自动更新后台设置的用于比对的具有漏洞的Maven依赖文件。如此可以防止用户忘记更新导致新的漏洞没有被设置,从而使得部分存在危害的依赖文件被引用,导致服务器安全受到影响。进一步提高了服务器的安全性。
对Maven依赖树中所有的依赖文件的校验可以是逐一校验,也可以是分批次同时校验。当且仅当所有的Maven依赖文件的校验结果都为校验合格时,才确定该项目的依赖校验的结果为校验通过,只要有一个Maven依赖文件校验不合格,都确定该项目的依赖校验的结果为校验不通过。
步骤103,若依赖校验不通过,则停止项目构建并反馈漏洞信息;
步骤104,若依赖校验通过,则继续项目构建并将Maven依赖树与构建得到的包文件信息关联存储于服务器中。
在本申请实施例中,若依赖校验不通过,则确定有Maven依赖文件存在安全漏洞。此时需要阻塞该项目的后续构建操作,即停止项目构建。以及,将校验发现的漏洞信息进行反馈。
具体地,反馈漏洞信息包括:
将Maven依赖树进行展示;
在展示出的Maven依赖树界面对存在漏洞的依赖进行标示。
在本申请实施例中,当校验不通过时,将获取到的依赖树在用户显示界面上进行显示。并且,在展示出的Maven依赖树界面对存在漏洞的依赖进行标示。标示可以是用箭头指出,也可以是以特定的颜色,例如红色进行标示。进一步地,还可以在显示界面显示文字提醒,例如“当前使用的第三方依赖:【xxx-x,x,x】版本存在安全漏洞,建议升级”。如此用户可以清晰地确定存在漏洞的依赖,并针对性地进行整改。整改后可以再次从步骤101开始重新执行Maven依赖树的获取及依赖校验步骤。
当校验通过时,则确定可以继续项目构建。在项目构建完成后,将项目构建输出的包文件信息与Maven依赖树进行关联,并存储于服务器中。具体地,可以存储于服务器的数据库中。
进一步地,将Maven依赖树与构建得到的包文件信息关联存储于服务器中,包括:
获取Maven依赖树的编号;
获取包文件信息的版本号;
将Maven依赖树的编号与包文件信息的版本号进行关联,将其存储于服务器中。
在本申请实施例中,在每次生成Maven依赖树时,可以给Maven依赖树进行编号,编号可以跟时间相关,以防止编号重复。同样地,每次项目构建完成得到包文件时,赋予该包文件一个版本号。同样地包文件的版本号也可以根据时间进行编号以防止重复。如此,每个Maven依赖树的编号都是唯一的,同样每个包文件的版本号也是唯一的。每次构建完成时,均将本次构建的版本包文件的版本号与获取的Maven依赖树的编号进行关联,并存储在服务器的数据库中,以便后续查找。进一步地,若有多个服务器时,还可以将该文件部署的服务器编号与Maven依赖树编号以及包文件版本号一并进行关联存储。如此在新发布漏洞时,可以更快地追溯到存在问题的依赖文件的位置。
根据上述描述可知,本申请提供的基于Maven的依赖管理方法,方法包括:响应于项目构建指令,获取项目的Maven依赖树;根据Maven依赖树对项目进行依赖校验;若依赖校验不通过,则停止项目构建并反馈漏洞信息;若依赖校验通过,则继续项目构建并将Maven依赖树与构建得到的包文件信息关联存储于服务器中。本申请提供的基于Maven的依赖管理方法,在每次进行项目构建时,不仅对Maven依赖进行校验以避免存在漏洞的依赖被调用,还在校验合格后将调用的依赖形成的依赖树信息与构建生成的包文件信息进行关联并保存于服务器中。如此当新发布漏洞信息时,确定包含该漏洞信息的依赖,并在服务器中检索到包含该依赖的依赖树,并确定与该依赖树关联的包文件信息,从而可以快速定位到服务器中存在漏洞的依赖。
进一步地,若依赖校验通过,则继续项目构建并将Maven依赖树与构建得到的包文件信息关联存储于服务器中之后,还包括:
将构建得到的包文件部署于服务器中。
在本申请实施例中,当检测确认Maven依赖树中所有依赖均不存在危害,即该项目的依赖校验通过,并将项目构建得到的包文件以及Maven依赖树关联存储到服务器中之后,将构建得到的包文件在服务器中进行部署,服务器可以根据该包文件信息获取对应的依赖。
进一步地,该方法还包括:
响应于指定依赖的查询指令,获取服务器中包含指定依赖的目标依赖树;
确定与目标依赖树关联的包文件。
在本申请实施例中,每次构建完成后,部署于服务器中的包文件都与构建时的Maven依赖树关联存储于服务器的数据库中。因此当有新的安全漏洞发布后,确定了存在威胁的依赖文件,需要对对应的依赖文件进行查找定位以及更新时。可以根据具有威胁的依赖的依赖名及版本信息,查询存储于服务器中包含该依赖的Maven依赖树,并进一步确定这些包含具有威胁的依赖的Maven依赖树的编号。进一步地,根据这些Maven依赖树编号,从服务器的数据库中查找与这些Maven依赖树编号绑定的包文件版本号。最后,根据包文件版本号确定存在威胁的包文件。确定了这些存在威胁的包文件之后,可以提交业务人员进行对应升级,也可以由系统自行进行对应升级。提交业务人员进行对应升级时,会将该包文件对应的依赖树一并展示,且在依赖树中标示出存在漏洞的依赖文件,以便业务人员迅速确认存在威胁的依赖文件。由于Maven依赖存在间接依赖的情况,如果仅确定存在问题的依赖,还需要人工对依赖进行定位排查,而本申请提供的依赖管理方法,可以展示项目的依赖树结构,简洁明了地展示了存在问题的依赖的层级关系,极大地提升了排除依赖问题时的效率。
如图2所示,为本申请提供的基于Maven的依赖管理装置的结构示意图,装置包括:
获取模块201,用于响应于项目构建指令,获取项目的Maven依赖树;
校验模块202,用于根据Maven依赖树对项目进行依赖校验;
漏洞反馈模块203,用于若依赖校验不通过,则停止项目构建并反馈漏洞信息;
存储模块204,用于若依赖校验通过,则继续项目构建并将Maven依赖树与构建得到的包文件信息关联存储于服务器中。
在本申请实施例中,当用户每次提交CI构建项目时,获取模块201会自动获取项目的Maven依赖树,校验模块202会自动对待构建的项目进行依赖校验,当依赖校验不通过时,漏洞反馈模块203会中断项目构建并将该项目的Maven依赖树进行展示,并在展示页面标示出存在漏洞的依赖信息,以便工作人员进行整改。若校验通过,则继续项目构建任务。在项目构建完成后,得到构建得到的包文件,此时存储模块204会自动提取该包文件的版本信息以及包名称信息,同时提取Maven依赖的编号,将包文件额版本信息、包名称信息与Maven依赖的编号进行关联存储于服务器的数据库中。
根据上述描述可知,本申请提供的基于Maven的依赖管理装置,在每次进行CI项目构建时,会自动进行依赖校验以避免存在漏洞的依赖被引用。当项目校验不通过,则进行反馈并中断构建,当项目校验通过,则将依赖树与构建完成的包文件进行关联存储,以备后续追溯。该装置可有效避免存在漏洞的依赖被引用,且可在新漏洞发布时方便进行漏洞追溯。
进一步地,该装置还包括:
部署模块,用于将构建得到的包文件部署于服务器中。
进一步地,该装置还包括:
追溯模块,用于响应于对指定依赖的查询指令,获取服务器中包含指定依赖的目标依赖树并确定与目标依赖树关联的包文件。
当新的安全漏洞发布后,用户可以在该装置中输入存在漏洞的依赖信息,例如输入依赖名称以及依赖版本号,该装置即可在服务器中追溯到存在该依赖文件的包文件,以及部署的服务器编号,从而能够尽快确定存在漏洞的依赖文件的位置,以便业务人员进行整改。
本申请还提供了一种电子装置,该电子装置可用于实现前述实施例中的基于Maven的依赖管理方法。如图3所示,该电子装置主要包括:
存储器301、处理器302、总线303及存储在存储器301上并可在处理器302上运行的计算机程序,存储器301和处理器302通过总线303连接。处理器302执行该计算机程序时,实现前述实施例中的基于Maven的依赖管理方法。其中,处理器的数量可以是一个或多个。
存储器301可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器301用于存储可执行程序代码,处理器302与存储器301耦合。
本申请还提供了一种存储介质,该存储介质可以是存储器。该存储介质上存储有计算机程序,该程序被处理器执行时实现第一方面提供的基于Maven的依赖管理方法中的各个步骤。进一步的,该计算机可读存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的基于Maven的依赖管理方法、装置、电子装置及存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种基于Maven的依赖管理方法,其特征在于,所述方法包括:
响应于项目构建指令,获取所述项目的Maven依赖树;
根据所述Maven依赖树对所述项目进行依赖校验;
若依赖校验不通过,则停止所述项目构建并反馈漏洞信息;
若依赖校验通过,则继续所述项目构建并将所述Maven依赖树与构建得到的包文件信息关联存储于服务器中。
2.根据权利要求1所述的基于Maven的依赖管理方法,其特征在于,所述获取所述项目的Maven依赖树,包括:
获取所述项目的声明文件中所有Maven依赖文件及各依赖文件之间的依赖关系;
根据所述所有Maven依赖文件及各依赖文件之间的依赖关系生成Maven依赖树。
3.根据权利要求2所述的基于Maven的依赖管理方法,其特征在于,所述根据所述Maven依赖树对所述项目进行依赖校验,包括:
获取所述Maven依赖文件的依赖名称以及版本信息;
根据所述依赖名称以及版本信息,并基于预设的校验规则对所述Maven依赖文件进行校验;
若所有Maven依赖文件校验结果都合格,则判定所述项目的依赖校验通过;
若存在Maven依赖文件校验结果不合格,则判定所述项目的依赖校验不通过。
4.根据权利要求1所述的基于Maven的依赖管理方法,其特征在于,所述反馈漏洞信息,包括:
将所述Maven依赖树进行展示;
在展示出的Maven依赖树界面对存在漏洞的依赖进行标示。
5.根据权利要求1所述的基于Maven的依赖管理办法,其特征在于,所述将所述Maven依赖树与构建得到的包文件信息关联存储于服务器中,包括:
获取所述Maven依赖树的编号;
获取所述包文件信息的版本号;
将所述Maven依赖树的编号与所述包文件信息的版本号进行关联,并将其存储于服务器中。
6.根据权利要求1~5中任意一项所述的基于Maven的依赖管理方法,其特征在于,所述若依赖校验通过,则继续所述项目构建并将所述Maven依赖树与构建得到的包文件信息关联存储于服务器中之后,还包括:
将所述构建得到的包文件部署于服务器中。
7.根据权利要求6所述的基于Maven的依赖管理方法,其特征在于,所述方法还包括:
响应于对指定依赖的查询指令,获取服务器中包含所述指定依赖的目标依赖树;
确定与所述目标依赖树关联的包文件。
8.一种基于Maven的依赖管理装置,其特征在于,所述装置包括:
获取模块,用于响应于项目构建指令,获取所述项目的Maven依赖树;
校验模块,用于根据所述Maven依赖树对所述项目进行依赖校验;
漏洞反馈模块,用于若依赖校验不通过,则停止所述项目构建并反馈漏洞信息;
存储模块,用于若依赖校验通过,则继续所述项目构建并将所述Maven依赖树与构建得到的包文件信息关联存储于服务器中。
9.一种电子装置,包括存储器、处理器以及存储在所述存储器上可以被所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1~7中任意一项所述方法中的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1~7中任意一项所述方法中的步骤。
CN202010630727.3A 2020-07-03 2020-07-03 基于Maven的依赖管理方法、装置、电子装置及存储介质 Pending CN111783103A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010630727.3A CN111783103A (zh) 2020-07-03 2020-07-03 基于Maven的依赖管理方法、装置、电子装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010630727.3A CN111783103A (zh) 2020-07-03 2020-07-03 基于Maven的依赖管理方法、装置、电子装置及存储介质

Publications (1)

Publication Number Publication Date
CN111783103A true CN111783103A (zh) 2020-10-16

Family

ID=72758327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010630727.3A Pending CN111783103A (zh) 2020-07-03 2020-07-03 基于Maven的依赖管理方法、装置、电子装置及存储介质

Country Status (1)

Country Link
CN (1) CN111783103A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112230963A (zh) * 2020-10-29 2021-01-15 北京字节跳动网络技术有限公司 安全漏洞修复的方法、装置、计算机设备和存储介质
CN112596779A (zh) * 2020-12-16 2021-04-02 中国建设银行股份有限公司 兼容双版本的依赖包生成方法、装置、设备及存储介质
CN112711438A (zh) * 2021-01-13 2021-04-27 苏州棱镜七彩信息科技有限公司 依赖组件信息提取方法、设备及计算机可读存储介质
CN113032046A (zh) * 2021-03-29 2021-06-25 北京字节跳动网络技术有限公司 so文件的修复方法、装置、设备及存储介质
CN113343222A (zh) * 2021-06-30 2021-09-03 招商局金融科技有限公司 Java项目工程安全校验方法、装置、计算机设备及存储介质
CN113504972A (zh) * 2021-07-26 2021-10-15 京东科技控股股份有限公司 一种服务部署方法及装置、电子设备和存储介质
CN113515303A (zh) * 2021-05-19 2021-10-19 中国工商银行股份有限公司 一种项目转型方法、装置和设备
CN113590190A (zh) * 2021-06-30 2021-11-02 支付宝(杭州)信息技术有限公司 依赖树生成方法、装置及设备
CN114443119A (zh) * 2021-12-29 2022-05-06 北京金堤科技有限公司 项目架构搭建方法及其装置、计算机存储介质、电子设备
CN115357898A (zh) * 2022-07-08 2022-11-18 深圳开源互联网安全技术有限公司 一种java组件的依赖分析方法、装置及介质
CN117573562A (zh) * 2024-01-15 2024-02-20 云筑信息科技(成都)有限公司 一种对比pom文件不同版本的方法
CN117707614A (zh) * 2024-02-01 2024-03-15 浙商银行股份有限公司 基于Maven插件的工程依赖组件监测方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253999A (zh) * 2011-07-12 2011-11-23 北京新媒传信科技有限公司 一种服务依赖性的验证方法
CN103198260A (zh) * 2013-03-28 2013-07-10 中国科学院信息工程研究所 一种二进制程序漏洞自动化定位方法
CN106775730A (zh) * 2016-12-21 2017-05-31 深圳Tcl数字技术有限公司 程序发布方法及系统
CN107038380A (zh) * 2017-04-14 2017-08-11 华中科技大学 一种基于程序特征树的漏洞检测方法及系统
CN108228229A (zh) * 2016-12-19 2018-06-29 深圳业拓讯通信科技有限公司 一种Maven依赖的管理方法以及系统
US20180260301A1 (en) * 2017-03-03 2018-09-13 Snyk Limited Identifying flawed dependencies in deployed applications
CN110110527A (zh) * 2019-05-10 2019-08-09 重庆八戒电子商务有限公司 一种漏洞组件的发现方法、发现装置、计算机装置以及存储介质
CN110232279A (zh) * 2019-06-06 2019-09-13 深圳前海微众银行股份有限公司 一种漏洞检测方法及装置
CN110414239A (zh) * 2019-06-28 2019-11-05 奇安信科技集团股份有限公司 一种软件供应链安全分析方法及装置
CN111104676A (zh) * 2019-12-06 2020-05-05 携程旅游信息技术(上海)有限公司 第三方组件的安全检测方法、系统、设备及可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253999A (zh) * 2011-07-12 2011-11-23 北京新媒传信科技有限公司 一种服务依赖性的验证方法
CN103198260A (zh) * 2013-03-28 2013-07-10 中国科学院信息工程研究所 一种二进制程序漏洞自动化定位方法
CN108228229A (zh) * 2016-12-19 2018-06-29 深圳业拓讯通信科技有限公司 一种Maven依赖的管理方法以及系统
CN106775730A (zh) * 2016-12-21 2017-05-31 深圳Tcl数字技术有限公司 程序发布方法及系统
US20180260301A1 (en) * 2017-03-03 2018-09-13 Snyk Limited Identifying flawed dependencies in deployed applications
CN107038380A (zh) * 2017-04-14 2017-08-11 华中科技大学 一种基于程序特征树的漏洞检测方法及系统
CN110110527A (zh) * 2019-05-10 2019-08-09 重庆八戒电子商务有限公司 一种漏洞组件的发现方法、发现装置、计算机装置以及存储介质
CN110232279A (zh) * 2019-06-06 2019-09-13 深圳前海微众银行股份有限公司 一种漏洞检测方法及装置
CN110414239A (zh) * 2019-06-28 2019-11-05 奇安信科技集团股份有限公司 一种软件供应链安全分析方法及装置
CN111104676A (zh) * 2019-12-06 2020-05-05 携程旅游信息技术(上海)有限公司 第三方组件的安全检测方法、系统、设备及可读存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112230963A (zh) * 2020-10-29 2021-01-15 北京字节跳动网络技术有限公司 安全漏洞修复的方法、装置、计算机设备和存储介质
CN112596779A (zh) * 2020-12-16 2021-04-02 中国建设银行股份有限公司 兼容双版本的依赖包生成方法、装置、设备及存储介质
CN112711438A (zh) * 2021-01-13 2021-04-27 苏州棱镜七彩信息科技有限公司 依赖组件信息提取方法、设备及计算机可读存储介质
CN112711438B (zh) * 2021-01-13 2024-04-16 苏州棱镜七彩信息科技有限公司 依赖组件信息提取方法、设备及计算机可读存储介质
CN113032046A (zh) * 2021-03-29 2021-06-25 北京字节跳动网络技术有限公司 so文件的修复方法、装置、设备及存储介质
CN113515303A (zh) * 2021-05-19 2021-10-19 中国工商银行股份有限公司 一种项目转型方法、装置和设备
CN113515303B (zh) * 2021-05-19 2024-02-13 中国工商银行股份有限公司 一种项目转型方法、装置和设备
CN113590190A (zh) * 2021-06-30 2021-11-02 支付宝(杭州)信息技术有限公司 依赖树生成方法、装置及设备
CN113343222A (zh) * 2021-06-30 2021-09-03 招商局金融科技有限公司 Java项目工程安全校验方法、装置、计算机设备及存储介质
CN113504972A (zh) * 2021-07-26 2021-10-15 京东科技控股股份有限公司 一种服务部署方法及装置、电子设备和存储介质
CN114443119A (zh) * 2021-12-29 2022-05-06 北京金堤科技有限公司 项目架构搭建方法及其装置、计算机存储介质、电子设备
CN115357898A (zh) * 2022-07-08 2022-11-18 深圳开源互联网安全技术有限公司 一种java组件的依赖分析方法、装置及介质
CN117573562A (zh) * 2024-01-15 2024-02-20 云筑信息科技(成都)有限公司 一种对比pom文件不同版本的方法
CN117707614A (zh) * 2024-02-01 2024-03-15 浙商银行股份有限公司 基于Maven插件的工程依赖组件监测方法及装置

Similar Documents

Publication Publication Date Title
CN111783103A (zh) 基于Maven的依赖管理方法、装置、电子装置及存储介质
US10949225B2 (en) Automatic detection of user interface elements
US10162612B2 (en) Method and apparatus for inventory analysis
EP3072079B1 (en) A system and method for implementing application policies among development environments
US10235527B1 (en) Vulnerability notification for live applications
US7296188B2 (en) Formal test case definitions
Wang et al. Formalizing and integrating the dynamic model within OMT
US8843893B2 (en) Unified framework for configuration validation
US11902391B2 (en) Action flow fragment management
CN111158674A (zh) 组件管理方法、系统、设备及存储介质
WO2020015191A1 (zh) 业务规则的发布管理方法、电子装置及可读存储介质
US20200104107A1 (en) Systems and methods for deploying software products to environments
US11977872B2 (en) Method and system for code maintenance
CN112632333A (zh) 查询语句生成方法、装置、设备及计算机可读存储介质
CN110727575A (zh) 一种信息处理方法、系统、装置、以及存储介质
US10540397B2 (en) Algorithm to check compatibility of business object types to prevent business catalog corruption on resource update
EP4030280A1 (en) Seamless lifecycle stability for extensible software features
US9405514B1 (en) Process fragment management
Jiang et al. A preliminary analysis and case study of feature-based software customization
CN112381509A (zh) 重大新药创制国家科技重大专项课题管理系统
Birklbauer Process Model to improve Code Quality in SAP/ABAP for PEWAG/Author Gerald Birklbuaer
WO2014045554A1 (ja) プロセスデータベース、プロセス管理装置、プロセスデータベース作成方法、プロセスデータベース検索方法、および、プログラム
Pullen et al. An Automated Regression Testing Framework for a Hadoop‐Based Entity Resolution System
Nöbauer et al. Inferring variability from customized standard software products
CN115033276A (zh) 项目发布方法、装置、设备及存储介质

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