Javaweb应用的安装包生成方法、装置、存储介质和设备与流程

文档序号:16929562发布日期:2019-02-22 20:08阅读:266来源:国知局
Java web应用的安装包生成方法、装置、存储介质和设备与流程

本公开涉及javaweb技术领域,具体地,涉及一种javaweb应用的安装包生成方法、装置、存储介质和设备。



背景技术:

javaweb,是用java技术来解决相关web互联网领域的技术总和,web包括web服务器和web客户端两部分。web应用程序(简称web应用)是服务器方应用程序,一个web应用是由一组servlet、html(hypertextmarkuplanguage,超级文本标记语言)页面、类(class),以及其它的资源组成的运行在web服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在。

目前,javaweb应用的部署方式基本都需要依靠人工来完成,并且需要进行大量的前期部署,例如需要准备各种环境(如tomcat、支撑库)以及数据(例如web应用,脚本)。以支撑库为例,现有技术中需要预先手动安装数据库,在部署时去连接该数据库并执行支撑库脚本,而tomcat、web应用、脚本等也需要由人工手动安装或生成。因此,现有的javaweb应用的部署方式步骤繁杂,工作量大。另外,对于不同的操作系统,需要准备不同版本的环境,通用性差。



技术实现要素:

本公开的目的是提供一种javaweb应用的安装包生成方法、装置、存储介质和设备,用于解决现有的javaweb应用部署方法步骤繁杂,工作量大以及通用性差的问题。

为了实现上述目的,本公开的第一方面,提供一种javaweb应用的部署方法,所述方法包括:

从目标平台获取待部署的目标应用的源代码,所述目标平台为存储有所述源代码的任一网站;

根据所述源代码执行编译,以构建所述目标应用;

获取所述目标应用的安装包类型,所述安装包类型用于表示所述目标应用所要部署的操作系统的类型;

获取预先存储的与所述安装包类型对应的脚本和环境;

根据已构建的所述目标应用,所述环境和所述脚本,生成与所述安装包类型对应的应用安装包。

可选地,所述获取预先存储的与所述安装包类型对应的脚本和环境,包括:

从安装包构建工具软件中获取预先配置的与所述安装包类型对应的命令脚本、支撑库、java运行环境和中间件。

可选地,所述安装包构建工具软件中预先配置有至少一种操作系统的命令脚本、支撑库、java运行环境和中间件,所述从安装包构建工具软件中获取预先存储的与所述安装包类型对应的命令脚本、支撑库、java运行环境和中间件,包括:

当所述安装包类型为第一系统安装包时,从所述安装包构建工具软件中获取预先配置的第一系统命令脚本、第一系统支撑库、第一系统的java运行环境和中间件,所述第一系统为所述至少一种操作系统中的任一操作系统。

可选地,所述至少一种操作系统包括:windows系统和linux系统。

可选地,所述获取所述目标应用的安装包的系统类型,所述系统类型用于表示所述目标应用所要部署的操作系统的类型,包括:

获取所述目标应用的安装包类型,所述安装包类型包括windows安装包或linux安装包,所述安装包类型为所述windows安装包时,表示所述目标应用所要部署的操作系统为windows系统,所述安装包类型为所述linux安装包时,表示所述目标应用所要部署的操作系统为linux系统。

可选地,所述根据已构建的所述目标应用,所述环境和所述脚本,生成与所述安装包类型对应的应用安装包,包括:

当所述安装包类型为windows安装包时,根据已构建的所述目标应用,所述环境和所述脚本,生成zip格式的应用安装包;

当所述安装包类型为linux安装包时,根据已构建的所述目标应用,所述环境和所述脚本,生成tar.gz格式的应用安装包。

第二方面,提供一种javaweb应用的安装包生成装置,所述装置包括:

代码获取模块,用于从目标平台获取待部署的目标应用的源代码,所述目标平台为存储有所述源代码的任一网站;

应用构建模块,用于根据所述源代码执行编译,以构建所述目标应用;

类型获取模块,用于获取所述目标应用的安装包类型,所述安装包类型用于表示所述目标应用所要部署的操作系统的类型;

环境获取模块,用于获取预先存储的与所述安装包类型对应的脚本和环境;

生成模块,用于根据已构建的所述目标应用,所述环境和所述脚本,生成与所述安装包类型对应的应用安装包。

可选地,所述环境获取模块,用于:

从安装包构建工具软件中获取预先配置的与所述安装包类型对应的命令脚本、支撑库、java运行环境和中间件。

可选地,所述安装包构建工具软件中预先配置有至少一种操作系统的命令脚本、支撑库、java运行环境和中间件,所述环境获取模块,用于:

当所述安装包类型为第一系统安装包时,从所述安装包构建工具软件中获取预先配置的第一系统命令脚本、第一系统支撑库、第一系统的java运行环境和中间件,所述第一系统为所述至少一种操作系统中的任一操作系统。

可选地,所述至少一种操作系统包括:windows系统和linux系统。

可选地,所述类型获取模块,用于:获取所述目标应用的安装包类型,所述安装包类型包括windows安装包或linux安装包,所述安装包类型为所述windows安装包时,表示所述目标应用所要部署的操作系统为windows系统,所述安装包类型为所述linux安装包时,表示所述目标应用所要部署的操作系统为linux系统。

可选地,所述生成模块,用于:

当所述安装包类型为windows安装包时,根据已构建的所述目标应用,所述环境和所述脚本,生成zip格式的应用安装包;

当所述安装包类型为linux安装包时,根据已构建的所述目标应用,所述环境和所述脚本,生成tar.gz格式的应用安装包。

第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述方法的步骤。

第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的步骤。

上述技术方案中,通过从目标平台获取待部署的目标应用的源代码;根据该源代码执行编译,以构建该目标应用;获取该目标应用的安装包类型,该安装包类型用于表示该目标应用所要部署的操作系统的类型;获取预先存储的与该安装包类型对应的脚本和环境;根据已构建的该目标应用,环境和脚本,生成与该安装包类型对应的应用安装包。由于通过上述技术方案生成的应用安装包已包含了脚本和环境,无需再由人工进行前期部署,并且该脚本和环境是与所要部署的操作系统的类型对应的脚本和环境。因此上述技术方案能够解决现有的javaweb应用部署方法步骤繁杂,工作量大以及通用性差的问题,从而该应用安装包能够在多种操作系统实现自动化部署,即无论部署于哪种操作系统,均可以实现解压即用的效果。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据本公开一示例性实施例示出的一种javaweb应用的安装包生成方法的流程示意图;

图2是根据本公开一示例性实施例示出的另一种javaweb应用的安装包生成方法的流程示意图;

图3是根据本公开一示例性实施例示出的又一种javaweb应用的安装包生成方法的流程示意图;

图4是根据本公开一示例性实施例示出的一种javaweb应用的安装包生成装置;

图5是根据一示例性实施例示出的一种电子设备的框图;

图6是根据一示例性实施例示出的另一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是根据本公开一示例性实施例示出的一种javaweb应用的安装包生成方法的流程示意图,如图1所示,该方法包括:

步骤101,从目标平台获取待部署的目标应用的源代码,该目标平台为存储有该源代码的任一网站。

示例的,可以从能够提供该目标应用的源代码的任意一个网站上下载该目标应用的源代码,特别的,可以从具有该目标应用的最新的源代码的平台上下载该目标应用的源代码。在本实施例中,步骤101至105均可以通过预先配置的安装包构建工具软件执行,该安装包构建工具软件是预先配置的用于构建javaweb应用安装包的工具软件。因此,示例的,可以通过该安装包构建工具软件中的源码控制系统来下载该目标应用的最新的源代码。

步骤102,根据该源代码执行编译,以构建该目标应用。

步骤103,获取目标应用的安装包类型,安装包类型用于表示目标应用所要部署的操作系统的类型。

示例的,以目前最常用的windows系统和linux系统为例,该安装包类型可以包括:windows安装包或者linux安装包,该windows安装包可以部署在windows系统,linux安装包可以部署在linux安装包。因此,当安装包类型为windows安装包时,表示目标应用所要部署的操作系统为windows系统,安装包类型为linux安装包时,表示目标应用所要部署的操作系统为linux系统,从而可以根据安装包类型执行步骤104。

步骤104,获取预先存储的与安装包类型对应的脚本和环境。

示例的,以windows系统和linux系统为例,当安装包类型为windows系统时,则获取windows系统的脚本和环境,当安装包类型为linux系统时,则获取linux系统的脚本和环境。

步骤105,根据已构建的目标应用,环境和脚本,生成与安装包类型对应的应用安装包。

即将已构建的目标应用,环境和脚本进行打包,以生成与安装包类型对应的应用安装包,示例的,当安装包类型为windows系统时,生成zip格式的安装包,当安装包类型为linux系统时,生成tar.gz格式的应用安装包。

上述技术方案中,通过从目标平台获取待部署的目标应用的源代码;根据该源代码执行编译,以构建该目标应用;获取该目标应用的安装包类型,该安装包类型用于表示该目标应用所要部署的操作系统的类型;获取预先存储的与该安装包类型对应的脚本和环境;根据已构建的该目标应用,环境和脚本,生成与该安装包类型对应的应用安装包。由于通过上述技术方案生成的应用安装包已包含了脚本和环境,无需再由人工进行前期部署,并且该脚本和环境是与所要部署的操作系统的类型对应的脚本和环境。因此上述技术方案能够解决现有的javaweb应用部署方法步骤繁杂,工作量大以及通用性差的问题,从而该应用安装包能够在多种操作系统实现自动化部署,即无论部署于哪种操作系统,均可以实现解压即用的效果。

图2是根据本公开一示例性实施例示出的另一种javaweb应用的安装包生成方法的流程示意图,如图2所示,步骤104所述的获取预先存储的与安装包类型对应的脚本和环境的步骤,可以包括以下步骤:

步骤1041,从安装包构建工具软件中获取预先配置的与安装包类型对应的命令脚本、支撑库、java运行环境和中间件。

其中,该安装包构建工具软件中预先配置有至少一种操作系统的命令脚本、支撑库、java运行环境和中间件。

以该至少一种操作系统中的第一操作系统为例,步骤1041可以具体包括:

当该安装包类型为第一系统安装包时,从安装包构建工具软件中获取预先配置的第一系统命令脚本、第一系统支撑库、第一系统的java运行环境(javaruntimeenvironment,jre)和中间件。

其中,该第一系统为该至少一种操作系统中的任一操作系统。示例的,该至少一种操作系统包括:windows系统和linux系统,则该第一系统可以为windows系统或linux系统,该安装包构建工具软件中可以预先配置windows命令脚本、windows支撑库、windows系统的java运行环境和中间件,以及linux命令脚本、linux支撑库、linux系统的java运行环境和中间件。示例的,该中间件可以是tomcat(汤姆猫),tomcat是一种应用服务器,也可以称为tomcat服务器,tomcat是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器。tomcat是由apache开发的一个servlet(serverapplet,小服务程序或服务连接器)容器,实现了对servlet和jsp(javaserverpages,java服务器页面)的支持,并提供了作为web服务器的一些特有功能,如tomcat管理和控制平台、安全域管理和tomcat阀等。

图3a是根据本公开一示例性实施例示出的又一种javaweb应用的安装包生成方法的流程示意图,如图3所示,步骤105所述的根据已构建的目标应用,环境和脚本,生成与安装包类型对应的应用安装包的步骤,可以包括以下步骤:

步骤1051,当安装包类型为windows安装包时,根据已构建的所述目标应用,环境和脚本,生成zip格式的应用安装包。

步骤1052,当安装包类型为linux安装包时,根据已构建的目标应用,环境和脚本,生成tar.gz格式的应用安装包。

下面以可部署的操作系统为windows系统和linux系统为例,对上述方法的流程进行举例说明:

图3b是根据本公开一示例性实施例示出的又一种javaweb应用的安装包生成方法的流程示意图,如图3b所示,javaweb应用的构建流程开始后,可以包括以下步骤:

首先,通过安装包构建工具软件中的源码控制系统,下载目标应用最新的源代码;

其次,根据最新的源代码执行编译,以构建目标应用;

然后,获取要构建的安装包类型,即确定是windows安装包还是linux安装包,当安装包类型为windows安装包时,依次执行:(从安装包构建工具软件中)拷贝windows命令脚本,拷贝windows支撑库,拷贝windows系统的jre,拷贝tomcat以及拷贝已构建的目标应用;其中,拷贝windows命令脚本,拷贝windows支撑库,拷贝windows系统的jre和拷贝目标应用这几个步骤之间的先后顺序并非是固定的,上述所示的执行顺序是示例性的。

从而,根据拷贝的windows命令脚本、windows支撑库、windows系统的jre、tomcat以及目标应用进行打包,生成zip格式的应用安装包。

当安装包类型为linux安装包时,依次执行:(从安装包构建工具软件中)拷贝linux命令脚本,拷贝linux支撑库,拷贝linux系统的jre,拷贝tomcat以及拷贝已构建的目标应用;

最后根据拷贝的linux命令脚本、linux支撑库、linux系统的jre、tomcat以及目标应用进行打包,生成tar.gz格式的应用安装包。

其中,无论是zip格式的应用安装包还是tar.gz格式的应用安装包,其安装包结构均可以包括如表1所示的内容:

表1

其中,如表1所示,bin目录是启动命令目录,用于存放应用的一些控制命令,如启动命令、停止命令、注册命令、注销命令等等。config目录是配置文件目录,用于存放web应用的一些配置信息,如接入端口等等。ire目录是jre目录,用于存放上述方法中拷贝来的jre。lib目录是同于存放程序相关jar包的目录(jar是jar格式文件的后缀)。jar(javaarchive,java归档文件)格式以流行的zip文件格式为基础,与zip文件不同的是,jar文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和jvm(javavirtualmachine,java虚拟机)这样的工具直接使用。log目录是日志目录,用于记录应用运行日志。repository目录是支撑库目录,用于存放上述方法中拷贝来的支撑库,server目录是应用服务器目录,即tomcat目录,用于存放拷贝来的tomcat。webapps目录是web应用目录,用于存放上述已构建的目标应用。

在生成应用安装包之后,即可提供给需要部署该目标应用的设备,在该设备上解压该应用安装包即可实现该目标应用的部署,因此既不需要人工进行前期部署,避免繁琐的部署工作,也能够适用于该设备的操作系统,从而实现解压即用的目的。另外,上述的windows系统或linux系统是示例性的,包括但不限于,对于其他的操作系统,也可以采用上述方法进行javaweb应用的部署。

由此可见,上述技术方案够解决现有的javaweb应用部署方法步骤繁杂,工作量大以及通用性差的问题,从而该应用安装包能够在多种操作系统实现自动化部署,即无论部署于哪种操作系统,均可以实现解压即用的效果。

图4是根据本公开一示例性实施例示出的一种javaweb应用的安装包生成装置,如图4所示,该装置400包括:

代码获取模块401,用于从目标平台获取待部署的目标应用的源代码,该目标平台为存储有源代码的任一网站。

应用构建模块402,用于根据该源代码执行编译,以构建该目标应用;

类型获取模块403,用于获取该目标应用的安装包类型,该安装包类型用于表示该目标应用所要部署的操作系统的类型;

环境获取模块404,用于获取预先存储的与该安装包类型对应的脚本和环境;

生成模块405,用于根据已构建的该目标应用,环境和脚本,生成与该安装包类型对应的应用安装包。

可选的,该环境获取模块404,用于:

从安装包构建工具软件中获取预先配置的与该安装包类型对应的命令脚本、支撑库、java运行环境和中间件。

进一步的,该安装包构建工具软件中预先配置有至少一种操作系统的命令脚本、支撑库、java运行环境和中间件,则该环境获取模块404,用于:

当该安装包类型为第一系统安装包时,从该安装包构建工具软件中获取预先配置的第一系统命令脚本、第一系统支撑库、第一系统的java运行环境和中间件,该第一系统为该至少一种操作系统中的任一操作系统。

其中,该至少一种操作系统包括:windows系统或linux系统。

相应的,该类型获取模块403,用于:

获取该目标应用的安装包类型,该安装包类型包括windows安装包或linux安装包,该安装包类型为windows安装包时,表示该目标应用所要部署的操作系统为windows系统,该安装包类型为linux安装包时,表示该目标应用所要部署的操作系统为linux系统。

可选的,该生成模块405,用于:

当该安装包类型为windows安装包时,根据已构建的该目标应用,环境和脚本,生成zip格式的应用安装包;

当该安装包类型为linux安装包时,根据已构建的该目标应用,环境和脚本,生成tar.gz格式的应用安装包。

上述技术方案中,通过从目标平台获取待部署的目标应用的源代码;根据该源代码执行编译,以构建该目标应用;获取该目标应用的安装包类型,该安装包类型用于表示该目标应用所要部署的操作系统的类型;获取预先存储的与该安装包类型对应的脚本和环境;根据已构建的该目标应用,环境和脚本,生成与该安装包类型对应的应用安装包。由于通过上述技术方案生成的应用安装包已包含了脚本和环境,无需再由人工进行前期部署,并且该脚本和环境是与所要部署的操作系统的类型对应的脚本和环境。因此上述技术方案能够解决现有的javaweb应用部署方法步骤繁杂,工作量大以及通用性差的问题,从而该应用安装包能够在多种操作系统实现自动化部署,即无论部署于哪种操作系统,均可以实现解压即用的效果。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5是根据一示例性实施例示出的一种电子设备的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(i/o)接口504,以及通信组件505中的一者或多者。

其中,处理器501用于控制该电子设备500的整体操作,以完成上述的javaweb应用的安装包生成方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件505可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的javaweb应用的安装包生成方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的javaweb应用的安装包生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的javaweb应用的安装包生成方法。

图6是根据一示例性实施例示出的另一种电子设备的框图。例如,电子设备600可以被提供为一服务器。参照图6,电子设备600包括处理器622,其数量可以为一个或多个,以及存储器632,用于存储可由处理器622执行的计算机程序。存储器632中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器622可以被配置为执行该计算机程序,以执行上述的javaweb应用的安装包生成方法。

另外,电子设备600还可以包括电源组件626和通信组件650,该电源组件626可以被配置为执行电子设备600的电源管理,该通信组件650可以被配置为实现电子设备600的通信,例如,有线或无线通信。此外,该电子设备600还可以包括输入/输出(i/o)接口658。电子设备600可以操作基于存储在存储器632的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm等等。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的javaweb应用的安装包生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器632,上述程序指令可由电子设备600的处理器622执行以完成上述的javaweb应用的安装包生成方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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