一种Jar包的运行方法及系统技术方案

技术编号:19056656 阅读:22 留言:0更新日期:2018-09-29 12:08
本发明专利技术公开了一种Jar包的运行方法及系统,其中方法通过对需要加载的Jar包进行规范性检查,并将通过规范性检查的Jar包合成一个Jar包集合,并对Jar包集合进行集成测试和灰度处理,最终将通过集成测试、同时满足灰度要求的Jar包集合放置在应用服务器上,供自定义加载器加载。本发明专利技术统一测试Jar包,保证了Jar包的安全可靠性;进一步地,Jar包集合进行集成测试和灰度处理后发布,方便Jar包的升级;同时保证了项目中在使用jar包的统一性,实现了统一加载jar包,避免了多版本冲突问题。

【技术实现步骤摘要】
一种Jar包的运行方法及系统
本专利技术涉及计算机
,尤其涉及一种Jar包的运行方法及系统。
技术介绍
Jar包是其他人或组织已经写好的一些类,然后将这些类进行打包。用户可以将这些Jar包引入对应的项目中,然后就可以直接使用这些Jar包中的类和属性以及方法。Jar包依赖是java项目开发过程中的必须品,当用户的项目中需要用到一些功能时,就会考虑去引用提供这些功能和能力的Jar包。但是,当前版本的Jar包有可能存在bug、或者会添加新功能,此时新版本的Jar包就诞生了,需要在项目中去升级这些Jar包。目前,现有技术是借助maven(软件项目管理工具)的snapshot(快照版本)功能去做升级。snapshot本身用途是指该版本Jar包处于测试中,因此是一个不稳定的版本,可以持续覆盖、持续更新。除此之外,目前多个Jar包之间的合理搭配、Jar包重复依赖都是通过人工去排查,即当运行出错时,人工查找问题去排包。现有的Jar包升级、发布方式存在以下弊端:一方面,snapshot版本本身就代表该版本处于测试中、不稳定,真正提供给用户和项目使用的应该是release(稳定)版本,使用snapshot版本会导致项目存在不可控的风险。如果每次项目打包都从snapshot库拉取最新时间的Jar包,此时这个Jar包可能已被修改,导致应用启动不起来或运行出错,而就算某几个项目没问题,也保证不了所有项目没问题;另一方面,Jar包冲突和重复依赖问题通过人工去排查非常费时费力,而且每个项目的项目人员都得去做这样的事情,成本非常高,严重情况可能导致项目延期。
技术实现思路
基于此,本专利技术提供了一种Jar包的运行方法及系统,以解决现有技术中无法保证项目中使用Jar包的统一性,以及Jar包版本冲突的问题。本专利技术提供的一种Jar包的运行方法,包括以下步骤:S100、对需要加载的Jar包进行规范性检查,并将通过所述规范性检查的Jar包合成一个Jar包集合,并对所述Jar包集合进行集成测试和灰度处理;S200、将通过所述集成测试、同时满足灰度要求的Jar包集合放置在应用服务器上,供自定义加载器加载。作为一种可实施方式,本专利技术提供的Jar包的运行方法,还包括以下步骤:在应用启动后,启动Jar包隔离容器,利用所述Jar包隔离容器初始化所述自定义类加载器,并在所述自定义类加载器中定义加载的Jar包及其路径。作为一种可实施方式,步骤S100包括以下步骤:S110、添加Jar包的maven属性;S120、从maven仓库下载Jar包;S130、对下载的Jar包进行扫描,检查Jar包的规范性;S140、将符合规范的Jar包集成在一起,合成一个Jar包集合,并将Jar包集合的状态设置为测试中;S150、在样本项目中运行状态为测试中的Jar包集合;S160、判断状态为测试中的Jar包集合在样本项目中是否成功启动并运行,若判断为是,进入步骤S170;若判断为否,则进入步骤S180;S170、对状态为测试中的Jar包集合进行环境测试,进入步骤S190;S180、提示当前Jar包集合存在问题,并删除当前Jar包集合;S190、判断状态为测试中的Jar包集合环境测试是否正常;若环境测试结果正常,则进入步骤S191,若环境测试结果不正常,则进入步骤S180;S191、将当前的Jar包集合的状态修改为灰度中;S192、对状态为灰度中的Jar包集合进行灰度发布;S193、判断状态为灰度中的Jar包集合的灰度是否正常;若判断灰度正常,则进入步骤S194;若判断灰度不正常,则进入步骤S195;S194、将当前的Jar包集合的状态修改为已发布,并设置为基准版本;S195、应用回滚到上一版本,进入步骤S180。作为一种可实施方式,步骤S200包括以下步骤:S210、在应用启动后,启动Jar包隔离容器;S220、检查本地是否存在Jar包集合;如果本地存在Jar包集合,则进入步骤S230;如果本地不存在Jar包集合,则进入步骤S240;S230、判断本地的Jar包集合版本是否是基准版本,若是基准版本,则进入步骤S260;若不是基准版本,则进入步骤S240;S240、下载基准版本,进入步骤S250;S250、解压并加载Jar包集合,进入步骤S260;S260、控制Jar包隔离容器启动应用。作为一种可实施方式,所述自定义加载器加载Jar包集合时,将应用名称和环境作为参数请求Jar包集合的地址。相应地,本专利技术提供的一种Jar包的运行系统,包括集成模块和发布模块;所述集成模块,用于对需要加载的Jar包进行规范性检查,并将通过所述规范性检查的Jar包合成一个Jar包集合,并对所述Jar包集合进行集成测试和灰度处理;所述发布模块,用于将通过所述集成测试、同时满足灰度要求的Jar包集合放置在应用服务器上,供自定义加载器加载。作为一种可实施方式,本专利技术提供的Jar包的运行系统,还包括初始化模块;所述初始化模块,用于在应用启动后,启动Jar包隔离容器,利用所述Jar包隔离容器初始化所述自定义类加载器,并在所述自定义类加载器中定义加载的Jar包及其路径。作为一种可实施方式,所述集成模块包括添加单元、Jar包下载单元、扫描单元、集成单元、试运行单元、安全性判断单元、环境测试单元、删除单元、环境测试判断单元、灰度状态设置单元、灰度发布单元、灰度判断单元、已发布状态设置单元以及返回单元;所述添加单元,用于添加Jar包的maven属性;所述Jar包下载单元,用于从maven仓库下载Jar包;所述扫描单元,用于对下载的Jar包进行扫描,检查Jar包的规范性;所述集成单元,用于将符合规范的Jar包集成在一起,合成一个Jar包集合,并将Jar包集合的状态设置为测试中;所述试运行单元,用于在样本项目中运行状态为测试中的Jar包集合;所述安全性判断单元,用于判断状态为测试中的Jar包集合在样本项目中是否成功启动并运行,若判断为是,进入所述环境测试单元;若判断为否,则进入所述删除单元;所述环境测试单元,用于对状态为测试中的Jar包集合进行环境测试,进入所述环境测试判断单元;所述删除单元,用于提示当前Jar包集合存在问题,并删除当前Jar包集合;所述环境测试判断单元,用于判断状态为测试中的Jar包集合环境测试是否正常;若环境测试结果正常,则进入所述灰度状态设置单元,若环境测试结果不正常,则进入所述删除单元;所述灰度状态设置单元,用于将当前的Jar包集合的状态修改为灰度中;所述灰度发布单元,用于对状态为灰度中的Jar包集合进行灰度发布;所述灰度判断单元,用于判断状态为灰度中的Jar包集合的灰度是否正常;若判断灰度正常,则进入所述已发布状态设置单元;若判断灰度不正常,则进入所述返回单元;所述已发布状态设置单元,用于将当前的Jar包集合的状态修改为已发布,并设置为基准版本;所述返回单元,用于应用回滚到上一版本,进入所述删除单元。作为一种可实施方式,所述发布模块包括容器启动单元、本地检查单元、基准版本判断单元、基准版本下载单元、加载单元以及启动应用单元;所述容器启动单元,用于在应用启动后,启动Jar包隔离容器;所述本地检查单元,用于检查本地是否存在Jar包集合;如果本地存在Jar包集合,则进入所述基准版本判断单元;如果本本文档来自技高网...

【技术保护点】
1.一种Jar包的运行方法,其特征在于,包括以下步骤:S100、对需要加载的Jar包进行规范性检查,并将通过所述规范性检查的Jar包合成一个Jar包集合,并对所述Jar包集合进行集成测试和灰度处理;S200、将通过所述集成测试、同时满足灰度要求的Jar包集合放置在应用服务器上,供自定义加载器加载。

【技术特征摘要】
1.一种Jar包的运行方法,其特征在于,包括以下步骤:S100、对需要加载的Jar包进行规范性检查,并将通过所述规范性检查的Jar包合成一个Jar包集合,并对所述Jar包集合进行集成测试和灰度处理;S200、将通过所述集成测试、同时满足灰度要求的Jar包集合放置在应用服务器上,供自定义加载器加载。2.根据权利要求1所述的Jar包的运行方法,其特征在于,还包括以下步骤:在应用启动后,启动Jar包隔离容器,利用所述Jar包隔离容器初始化所述自定义类加载器,并在所述自定义类加载器中定义加载的Jar包及其路径。3.根据权利要求1或2所述的Jar包的运行方法,其特征在于,步骤S100包括以下步骤:S110、添加Jar包的maven属性;S120、从maven仓库下载Jar包;S130、对下载的Jar包进行扫描,检查Jar包的规范性;S140、将符合规范的Jar包集成在一起,合成一个Jar包集合,并将Jar包集合的状态设置为测试中;S150、在样本项目中运行状态为测试中的Jar包集合;S160、判断状态为测试中的Jar包集合在样本项目中是否成功启动并运行,若判断为是,进入步骤S170;若判断为否,则进入步骤S180;S170、对状态为测试中的Jar包集合进行环境测试,进入步骤S190;S180、提示当前Jar包集合存在问题,并删除当前Jar包集合;S190、判断状态为测试中的Jar包集合环境测试是否正常;若环境测试结果正常,则进入步骤S191,若环境测试结果不正常,则进入步骤S180;S191、将当前的Jar包集合的状态修改为灰度中;S192、对状态为灰度中的Jar包集合进行灰度发布;S193、判断状态为灰度中的Jar包集合的灰度是否正常;若判断灰度正常,则进入步骤S194;若判断灰度不正常,则进入步骤S195;S194、将当前的Jar包集合的状态修改为已发布,并设置为基准版本;S195、应用回滚到上一版本,进入步骤S180。4.根据权利要求3所述的Jar包的运行方法,其特征在于,步骤S200包括以下步骤:S210、在应用启动后,启动Jar包隔离容器;S220、检查本地是否存在Jar包集合;如果本地存在Jar包集合,则进入步骤S230;如果本地不存在Jar包集合,则进入步骤S240;S230、判断本地的Jar包集合版本是否是基准版本,若是基准版本,则进入步骤S260;若不是基准版本,则进入步骤S240;S240、下载基准版本,进入步骤S250;S250、解压并加载Jar包集合,进入步骤S260;S260、控制Jar包隔离容器启动应用。5.根据权利要求1或2所述的Jar包的运行方法,其特征在于,所述自定义加载器加载Jar包集合时,将应用名称和环境作为参数请求Jar包集合的地址。6.一种Jar包的运行系统,其特征在于,包括集成模块和发布模块;所述集成模块,用于对需要加载的Jar包进行规范性检查,并将通过所述规范性检查的Jar包合成一个Jar包集合,并对所述Jar包集合进行集成测试和灰度处理;所述发布模块,用于将通过所述集成测试、同时满足灰度要求的Jar包集合放置在应用服务器上,供...

【专利技术属性】
技术研发人员:汪兴
申请(专利权)人:杭州有赞科技有限公司
类型:发明
国别省市:浙江,33

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

1