【技术实现步骤摘要】
一种项目转型方法、装置和设备
[0001]本说明书实施例涉及人工智能
,特别涉及一种项目转型方法、装置和设备。
技术介绍
[0002]随着当代软件开发技术的发展,涌现出越来越多的第三方SDK(软件开发工具包),这些依赖JAR包的复用给开发人员带来极大的便利。开发人员为了更加专注于软件的业务研发,会选择在项目中引入越来越多的SDK来构建一些基础功能。与此同时,对于将JAR包放置在项目目录下的传统Web项目来说,在不断建设项目的过程中,日益增长的SDK数量使项目变得愈发复杂繁琐。
[0003]现有技术中,Web项目的开发者通常会通过大量的手工步骤将Web项目改造为Maven项目,Maven是一个项目管理工具,它提供一种简单的方式在多个项目中共享JAR。Maven通过在项目对象模型(POM文件)中用一小段描述信息来管理项目的依赖,提供了一种更高级的项目管理方式。由于现有技术中改造过程涉及繁琐的手工步骤,依赖开发人员的经验和水平使得转型过程常常伴随各类隐患,例如可能出现JAR包版本使用错误、JAR包冗余引入等问题。由此 ...
【技术保护点】
【技术特征摘要】
1.一种项目转型方法,其特征在于,包括:在接收到转型请求的情况下,根据初始项目的地址获取所述初始项目的根目录;其中,所述转型请求中包含所述初始项目的地址,所述初始项目为Web项目;在所述根目录下创建目标项目的目标目录;其中,所述目标目录的格式为所述目标项目的标准目录格式,所述目标项目为Maven项目;将所述初始项目的文件迁移至所述目标目录下;其中,所述初始项目的文件中包含JAR包;在所述根目录下生成所述目标项目的初始项目对象模型文件;基于Maven中心仓库中的软件开发工具包和所述初始项目对象模型文件,对所述目标目录下的JAR包进行依赖分析,得到目标项目对象模型文件,完成对所述初始项目的转型;其中,目标项目对象模型文件用于表征去除冗余依赖、排除依赖冲突后JAR包的依赖关系。2.根据权利要求1所述的方法,其特征在于,在所述根目录下创建目标项目的目标目录之前,还包括:在确定所述初始项目的根目录下存在项目对象模型文件时,向所述转型请求对应的处理对象反馈第一异常提示信息;在确定所述初始项目的根目录下不存在项目对象模型文件时,检查开发环境是否已正确配置;在确定所述开发环境未正确配置的情况下,向所述转型请求对应的处理对象反馈第二异常提示信息。3.根据权利要求2所述的方法,其特征在于,所述转型请求中还包括:JDK地址和Maven工具地址,检查开发环境是否已正确配置包括:基于所述JDK地址和Maven工具地址获取JDK和Maven工具;在成功获取JDK和Maven工具的情况下,确定所述JDK和Maven工具的版本是否为预设版本;其中,所述预设版本为从初始项目转型至目标项目所需的版本;在确定所述JDK和Maven工具的版本为预设版本的情况下,确定所述开发环境已正确配置;对应的,在所述根目录下创建目标项目的目标目录,包括:在确定所述开发环境已正确配置的情况下,在所述根目录下创建目标项目的目标目录。4.根据权利要求1所述的方法,其特征在于,基于Maven中心仓库中的软件开发工具包和所述初始项目对象模型文件,对所述目标目录下的JAR包进行依赖分析,得到目标项目对象模型文件,包括:将所述目标目录下的JAR包的哈希值与Maven中心仓库中的软件开发工具包的哈希值进行比对,建立JAR包分析信息集;将所述目标目录下的JAR包的GAV信息写入所述初始项目对象模型文件中,得到第一项目对象模型文件;确定所述第一项目对象模型文件对应的依赖树;根据所述依赖树和所述JAR包分析信息集,对所述第一项目对象模型文件进行预处理,得到目标项目对象模型文件;其中,所述预处理包括:去除冗余依赖、排除依赖冲突。
5.根据权利要求4所述的方法,其特征在于,将所述目标目录下的JAR包的哈希值与Maven中心仓库中的软件开发工具包的哈希值进行比对,建立JAR包分析信息集,包括:计算所述目标目录下各个JAR包的哈希值,得到第一信息集;其中,所述第一信息集中包含所述各个JAR包的文件名、文件路径和对应的哈希值;根据所述各个JAR包的哈希值在所述Maven中心仓库中进行检索,并将第一检索结果记录在所述第一信息集中,得到第二信息集;其中,所述第一检索结果用于表征所述Maven中心仓库中是否存在与JAR包的哈希值匹配的软件开发工具包;基于所述第一检索结果获取所述各个JAR包的GAV信息,并记录在所述第二信息集的对应位置处,得到第三信息集;基于所述第三信息集在所述Maven中心仓库中进行检索,将得到的第二检索结果记录在所述第三信息集中,得到第四信息集;其中,所述第二检索结果用于表征所述Maven中心仓库中是否存在与JAR包的GA信息相同的软件开发工具包;基于所述第二检索结果,反编译与JAR包的GA信息相同的软件开发工具包,得到反编译结果;根据所述反编译结果,对比具有相同GA信息的JAR包和软件开发工具包确定选用结果;将所述选用结果记录在所述第四信息集中,得到JAR包分析信息集。6.根据权利要求5所述的方法,其特征在于,基于所述第一检索结果获取所述各个JAR包的GAV信息,并记录在所述第二信息集的对应位置处,得到第三信息集,包括:在所述Maven中心仓库中检索到与目标JAR包的哈希值匹配的目标软件开发工具包的情况下,获取所述目标...
【专利技术属性】
技术研发人员:宫婉钰,陈祺凯,王双龙,赵滢,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。