解决Maven依赖冲突的方法、装置和系统制造方法及图纸

技术编号:13862239 阅读:131 留言:0更新日期:2016-10-19 10:19
本发明专利技术公开了一种解决Maven依赖冲突的方法、装置和系统,属于计算机通信技术领域。方法包括:获取客户端提交的Maven软件项目依赖冲突信息;检索预设的Maven依赖冲突解决信息数据库,查找与所述Maven软件项目依赖冲突信息匹配的Maven依赖冲突解决方案和Maven依赖冲突评论;将与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论返回给所述客户端,使得所述客户端设定与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案。本发明专利技术可以提高解决Maven依赖冲突的准确性,可以不单依赖于开发人员的经验和水平,提高可靠性。

【技术实现步骤摘要】

本专利技术涉及计算机通信
,具体涉及一种解决Maven依赖冲突的方法、装置和系统
技术介绍
随着计算机通信技术的发展,软件开发项目管理工具Maven得到了广泛的应用。Maven基于POM(Project Object Model,项目对象模型)来管理软件开发项目的构建,POM是Maven对一个单一软件项目的描述,通常以pom.xml文件形式存在。当一个软件项目需要用到另外一个软件项目所发布的开发包时,需要在一个软件项目的POM中描述对于另外一个软件项目的开发包的依赖关系,包括版本信息等,这就是Maven依赖。当这种依赖关系变得复杂之后,对于开发包版本上的使用就很容易出现Maven依赖冲突的情况。比如,如图1所示,软件项目A分别依赖了软件项目B的版本为1.0的开发包和软件项目C的版本为3.0的开发包,而软件项目B的版本为1.0的开发包依赖了软件项目D的版本为1.0的开发包,软件项目C的版本为3.0的开发包则依赖了软件项目D的版本为2.0的开发包,软件项目D的开发包的版本冲突,发生了Maven依赖冲突。现有解决Maven依赖冲突的方法是:开发人员人工判断Maven依赖冲突的原因,然后人工调试、咨询、查看相关文档进行解决。例如:究竟应该在软件项目A中使用D-1.0还是D-2.0,需要开发人员人工判断解决。而解决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依赖冲突解决方案。进一步地,获取客户端提交的Maven软件项目依赖冲突信息,包括:获取所述客户端通过Maven指令行工具中的查看指令提交的所述Maven软件项目依赖冲突信息;或,获取所述客户端通过Eclipse POM编辑器中的查看界面提交的所述Maven软件项目依赖冲突信息。进一步地,当所述客户端设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案是从与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案中选择的时,所述方法还包括:获取所述客户端提交的Maven依赖冲突解决方案选择信息;对所述Maven依赖冲突解决信息数据库中的与所述Maven依赖冲突解决方案选择信息对应的所述Maven依赖冲突解决方案的使用人数和选择比例进行更新。进一步地,获取所述客户端提交的Maven依赖冲突解决方案选择信息,包括:获取所述客户端通过Maven指令行工具中的选择指令提交的所述Maven依赖冲突解决方案选择信息;或,获取所述客户端通过Eclipse POM编辑器中的选择界面提交的所述Maven依赖冲突解决方案选择信息。进一步地,当所述客户端设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案是所述客户端重新设定的时,所述方法还包括:获取所述客户端提交的所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案;将所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案存储在所述Maven依赖冲突解决信息数据库中。进一步地,获取所述客户端提交的所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案,包括:获取所述客户端通过Maven指令行工具中的上传指令提交的所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案;或,获取所述客户端通过Eclipse POM编辑器中的上传界面提交的所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案。进一步地,将与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论返回给所述客户端之后,还包括:获取所述客户端提交的Maven依赖冲突评论信息;将所述Maven依赖冲突评论信息,添加在所述Maven依赖冲突解决信息数据库中所述Maven依赖冲突评论信息对应的所述Maven依赖冲突解决方案中。进一步地,获取所述客户端提交的Maven依赖冲突评论信息,包括:获取所述客户端通过Maven指令行工具中的评论指令提交的Maven依赖冲突评论信息;或,获取所述客户端通过Eclipse POM编辑器中的查看界面提交的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软件项目依赖冲突过程中提交的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论;处理模块,用于将与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论返回给所述客户端,本文档来自技高网...

【技术保护点】
一种解决Maven依赖冲突的方法,其特征在于,所述方法包括:获取客户端提交的Maven软件项目依赖冲突信息;检索预设的Maven依赖冲突解决信息数据库,查找与所述Maven软件项目依赖冲突信息匹配的Maven依赖冲突解决方案和Maven依赖冲突评论;其中,所述Maven依赖冲突解决信息数据库用于存储任一所述客户端在解决Maven软件项目依赖冲突过程中提交的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论;将与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论返回给所述客户端,使得所述客户端设定与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案。

【技术特征摘要】
1.一种解决Maven依赖冲突的方法,其特征在于,所述方法包括:获取客户端提交的Maven软件项目依赖冲突信息;检索预设的Maven依赖冲突解决信息数据库,查找与所述Maven软件项目依赖冲突信息匹配的Maven依赖冲突解决方案和Maven依赖冲突评论;其中,所述Maven依赖冲突解决信息数据库用于存储任一所述客户端在解决Maven软件项目依赖冲突过程中提交的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论;将与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论返回给所述客户端,使得所述客户端设定与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案。2.如权利要求1所述的方法,其特征在于,获取客户端提交的Maven软件项目依赖冲突信息,包括:获取所述客户端通过Maven指令行工具中的查看指令提交的所述Maven软件项目依赖冲突信息;或,获取所述客户端通过Eclipse POM编辑器中的查看界面提交的所述Maven软件项目依赖冲突信息。3.如权利要求1所述的方法,其特征在于,当所述客户端设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案是从与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案中选择的时,所述方法还包括:获取所述客户端提交的Maven依赖冲突解决方案选择信息;对所述Maven依赖冲突解决信息数据库中的与所述Maven依赖冲突解决方案选择信息对应的所述Maven依赖冲突解决方案的使用人数和选择比例进行更新。4.如权利要求3所述的方法,其特征在于,获取所述客户端提交的Maven依赖冲突解决方案选择信息,包括:获取所述客户端通过Maven指令行工具中的选择指令提交的所述Maven依赖冲突解决方案选择信息;或,获取所述客户端通过Eclipse POM编辑器中的选择界面提交的所述Maven依赖冲突解决方案选择信息。5.如权利要求1所述的方法,其特征在于,当所述客户端设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案是所述客户端重新设定的时,所述方法还包括:获取所述客户端提交的所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案;将所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案存储在所述Maven依赖冲突解决信息数据库中。6.如权利要求5所述的方法,其特征在于,获取所述客户端提交的所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案,包括:获取所述客户端通过Maven指令行工具中的上传指令提交的所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案;或,获取所述客户端通过Eclipse POM编辑器中的上传界面提交的所述客户端重新设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案。7.如权利要求6所述的方法,其特征在于,将与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论返回给所述客户端之后,还包括:获取所述客户端提交的Maven依赖冲突评论信息;将所述Maven依赖冲突评论信息,添加在所述Maven依赖冲突解决信息数据库中所述Maven依赖冲突评论信息对应的所述Maven依赖冲突解决方案中。8.如权利要求7所述的方法,其特征在于,获取所述客户端提交的Maven依赖冲突评论信息,包括:获取所述客户端通过Maven指令行工具中的评论指令提交的Maven依赖冲突评论信息;或,获取所述客户端通过Eclipse POM编辑器中的查看界面提交的Maven依赖冲突评论信息。9.如权利要求1所述的方法,其特征在于,将与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论返回给所述客户端,使得所述客户端设定与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案,包括:从与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论中,选取满足预设推送条件的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论;将满足预设推送条件的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论返回给所述客户端,使得所述客户端根据满足预设推送条件的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论,设定与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案。10.一种解决Maven依赖冲突的装置,其特征在于,所述装置包括:第一获取模块,用于获取客户端提交的Maven软件项目依赖冲突信息;查找模块,用于检索预设的Maven依赖冲突解决信息数据库,查找与所述Maven软件项目依赖冲突信息匹配的Maven依赖冲突解决方案和Maven依赖冲突评论;其中,所述Maven依赖冲突解决信息数据库用于存储任一所述客户端在解决Maven软件项目依赖冲突过程中提交的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论;处理模块,用于将与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案和所述Maven依赖冲突评论返回给所述客户端,使得所述客户端设定与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案。11.如权利要求10所述的装置,其特征在于,所述第一获取模块包括:第一获取单元,用于获取所述客户端通过Maven指令行工具中的查看指令提交的所述Maven软件项目依赖冲突信息;或,第二获取单元,用于获取所述客户端通过Eclipse POM编辑器中的查看界面提交的所述Maven软件项目依赖冲突信息。12.如权利要求10所述的装置,其特征在于,当所述客户端设定的与所述Maven软件项目依赖冲突信息对应的所述Maven依赖冲突解决方案是从与所述Maven软件项目依赖冲突信息匹配的所述Maven依赖冲突解决方案中选择的时,所述装置还包括:第二获取模块,用于获取所述客户端提交的Maven依赖冲突解决方案选择信息;更新模块,用于对所述Maven依赖冲突解决信息数据库中的与所述Maven依赖冲突...

【专利技术属性】
技术研发人员:谭杰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1