CN116483352A - 一种基于Java的产品代码生成系统及方法 - Google Patents
一种基于Java的产品代码生成系统及方法 Download PDFInfo
- Publication number
- CN116483352A CN116483352A CN202310463553.XA CN202310463553A CN116483352A CN 116483352 A CN116483352 A CN 116483352A CN 202310463553 A CN202310463553 A CN 202310463553A CN 116483352 A CN116483352 A CN 116483352A
- Authority
- CN
- China
- Prior art keywords
- product
- script
- codes
- java
- module
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013515 script Methods 0.000 claims abstract description 100
- 238000010276 construction Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims abstract description 24
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000011161 development Methods 0.000 abstract description 16
- 238000012423 maintenance Methods 0.000 abstract description 9
- 230000010354 integration Effects 0.000 abstract description 5
- 238000012356 Product development Methods 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于Java的产品代码生成系统及方法,涉及计算机技术领域,解决了现阶段产品开发易造成耗时、错误风险高、低效率、缺乏标准化以及不利于持续集成和交付的技术问题;通过模块化和可配置化的方式,避免了在每个产品开发过程中重复编写相同的代码和界面;通过Java脚本代码实现应用模块化,在不同产品中可以灵活配置和组装模块,增加了应用的可配置性和通用性;同时,也支持产品定制化,使得各个产品之间有差异化的功能和界面;通过自动化构建工具自动生成产品代码,并完成Apk文件的编译,省去了手动构建的繁琐流程,提高了开发效率;将应用的各个模块抽象出来,每个模块都可以独立更新,便于维护和升级。
Description
技术领域
本发明属于计算机领域,涉及编程技术,具体是一种基于Java的产品代码生成系统及方法。
背景技术
现阶段很多公司都有多个App,多个App的基础功能基本类似,为了减少开发、维护成本,一般会在同一套代码上进行开发,然后根据产品的要求手动修改代码来组合相关的功能模块,修改完成后编译代码生成产品的apk(Android安装包)文件。
但如果没有工具来完成应用程序的构建,将需要手动完成所有构建过程,从而浪费更多的时间和人力资源;由于人为错误不可避免,手动构建各应用程序可能会导致更多的错误和问题,从而影响应用程序的质量;由于需要多次手动构建,因此开发人员的工作效率会大大降低;手动构建往往缺乏标准化,各部分之间难以协调,这可能导致代码和应用程序的质量下降,代码难于维护;如果没有该工具来完成应用程序的构建,将难以实现持续集成,从而难以及时交付应用程序。
为此,提出一种基于Java的产品代码生成系统及方法。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于Java的产品代码生成系统及方法,该一种基于Java的产品代码生成系统及方法解决了现阶段产品开发易造成耗时、错误风险高、低效率、缺乏标准化以及不利于持续集成和交付的问题;本发明通过模块化、可配置化的方式,避免了在每个产品开发过程中重复编写相同的代码和界面,节省了时间和人力资源,并减少了维护成本;通过Java脚本代码实现应用模块化,在不同产品中可以灵活配置和组装模块,增加了应用的可配置性和通用性;同时,也支持产品定制化,使得各个产品之间有差异化的功能和界面;通过自动化构建工具自动生成产品代码,并完成Apk文件的编译,省去了手动构建的繁琐流程,提高了开发效率;将应用的各个模块抽象出来,每个模块都可以独立更新,便于维护和升级。
为实现上述目的,根据本发明的第一方面的实施例提出一种基于Java的产品代码生成系统,包括脚本库模块、产品定制模块、代码生成模块以及归档模块;
所述脚本库模块用于存储功能项目的脚本代码;
所述产品定制模块用于获取产品画像,并将所述产品画像发送至所述代码生成模块;
所述代码生成模块用于根据所述产品画像生成产品代码,包括以下步骤:
所述代码生成模块接收所述产品画像,并根据所述产品画像在所述脚本库模块中进行检索,获取对应的功能项目的脚本代码;
通过Java和功能项目的脚本代码获取产品代码;
所述归档模块用于存储Apk文件。
优选的,所述脚本库模块内存储的脚本代码为基于Java的脚本代码;
所述脚本代码具备通用性和可配置性。
优选的,所述脚本库模块包括脚本定义单元和脚本配置单元;
所述脚本定义单元用于定义功能项目的脚本代码;
所述脚本配置单元用于为功能项目的脚本代码创建配置文件;其中,所述配置文件包括配置信息;
所述配置信息包括功能项目名称、图标以及版本号;
优选的,所述产品定制模块获取产品画像,包括以下步骤:
所述产品定制模块获取客户需求,并根据所述客户需求获取产品信息;其中,所述产品信息包括产品的颜色、背景、功能是否开启以及启动画面;
所述产品定制模块根据所述产品信息生成产品画像。
优选的,通过Java和功能项目的脚本代码获取产品代码,包括以下步骤:
S1:获取功能项目的脚本代码;
S2:利用Java对功能项目的脚本代码进行编写,生成class文件;
S3:执行S2中编译的class文件中方法,并指定方法参数;生成的代码即为产品代码。
优选的,所述归档模块存储Apk文件,包括以下步骤:
S1:产品代码生成后,利用自动化构建工具将产品代码进行打包;
S2:自动化构建工具将产品代码进行打包后,生成Apk文件;
S3:将所述Apk文件发送至指定的目录进行归档
优选的,所述自动化构建工具包括gradle。
一种基于Java的产品代码生成方法,包括以下步骤:
步骤一:定义功能项目的脚本代码,并将功能项目的脚本代码存储至脚本库内;
步骤二:获取客户需求,根据所述客户需求获取N个产品信息;并根据所述产品信息生成产品画像;
步骤三:根据所述产品画像在所述脚本库模块中进行检索,获取对应的N个功能项目的脚本代码;
步骤四:根据现有的计算机编程语言和N个功能项目的脚本代码获取产品代码;
步骤五:生成Apk文件,并将所述Apk文件发送至指定的目录进行归档。
与现有技术相比,本发明的有益效果是:
本发明通过模块化、可配置化的方式,避免了在每个产品开发过程中重复编写相同的代码和界面,节省了时间和人力资源,并减少了维护成本;
通过Java脚本代码实现应用模块化,在不同产品中可以灵活配置和组装模块,增加了应用的可配置性和通用性;同时,也支持产品定制化,使得各个产品之间有差异化的功能和界面;
通过自动化构建工具自动生成产品代码,并完成Apk文件的编译,省去了手动构建的繁琐流程,提高了开发效率;
将应用的各个模块抽象出来,每个模块都可以独立更新,便于维护和升级;
本发明在应用开发中具有重要的创新性和实用性,能够有效地提高应用开发的效率和质量,减少开发成本,提高应用的可配置性和通用性,同时支持产品定制化需求。
附图说明
图1为本发明的原理图;
图2为本发明的流程图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,一种基于Java的产品代码生成系统,包括脚本库模块、产品定制模块、代码生成模块以及归档模块;各个模块之间基于数字信号进行信息交互;
所述脚本库模块用于存储功能项目的脚本代码;需要进一步说明的是,所述脚本库模块内存储的功能项目的脚本代码有且仅有一种脚本代码,即所述脚本库模块内存储的每个脚本代码描述的功能都不相同;
本实施例中,所述脚本库模块内存储M个功能项目的脚本代码;其中,M为大于0的整数;
具体地,所述脚本库模块内存储的脚本代码均为基于Java的脚本代码;
所述脚本代码描述了Android应用中各个项目的功能和界面;
所述脚本代码具有通用性和可配置性,可以适应不同的需求;
本实施例中,所述脚本库模块包括脚本定义单元和脚本配置单元;
所述脚本定义单元用于定义功能项目的脚本代码;
具体地,本系统中的脚本代码均为基于Java的脚本代码;
所述脚本配置单元用于为功能项目的脚本代码创建配置文件;其中,所述配置文件包括配置信息;
本实施例中,所述配置信息包括功能项目名称、图标以及版本号等;
本实施例中,所述脚本库模块可实时更新功能项目的脚本代码。
所述产品定制模块用于获取产品画像;
本实施例中,所述产品定制模块获取产品画像,包括以下步骤:
所述产品定制模块获取客户需求,并根据所述客户需求获取N个产品信息;其中,N为大于0的正整数,且N小于M;需要进一步说明的是,产品是客户所需要的,所以客户提出的需求,即为定制产品的产品信息;产品信息所匹配的功能项目一定能在所述脚本库模块中匹配到;
具体地,所述产品信息包括产品的颜色、背景、功能是否开启以及启动画面等;
所述产品定制模块根据所述产品信息生成产品画像;
所述产品定制模块将所述产品画像发送至所述代码生成模块。
所述代码生成模块用于根据所述产品画像生成产品代码;
本实施例中,所述代码生成模块根据所述产品画像生成代码,包括以下步骤:
所述代码生成模块接收所述产品画像,并根据所述产品画像在所述脚本库模块中进行检索,获取对应的N个功能项目的脚本代码;
根据现有的计算机编程语言和N个功能项目的脚本代码获取产品代码;
本实施例中,根据现有的计算机编程语言和N个功能项目的脚本代码获取产品代码,包括以下步骤:
S1:获取N个功能项目的脚本代码;
S2:根据现有的计算机编程语言对N个功能项目的脚本代码进行编写,生成class文件;
S3:执行S2中编译的class文件中方法,并指定方法参数;生成的代码即为产品代码。
通过模块化、可配置化的方式,避免了在每个产品开发过程中重复编写相同的代码和界面,节省了时间和人力资源,并减少了维护成本。
通过Java脚本代码实现应用模块化,在不同产品中可以灵活配置和组装模块,增加了应用的可配置性和通用性;同时,也支持产品定制化,使得各个产品之间有差异化的功能和界面。
所述归档模块用于存储Apk文件;
本实施例中,所述归档模块存储Apk文件,包括以下步骤:
S1:产品代码生成后,利用自动化构建工具将产品代码进行打包;
本实施例中,所述自动化构建工具包括gradle;
S2:自动化构建工具将产品代码进行打包后,生成Apk文件;
S3:将所述Apk文件发送至指定的目录进行归档。
通过自动化构建工具自动生成产品代码,并完成Apk文件的编译,省去了手动构建的繁琐流程,提高了开发效率。
如果没有工具来完成应用程序的构建,将需要手动完成所有构建过程,从而浪费更多的时间和人力资源;由于人为错误不可避免,手动构建各应用程序可能会导致更多的错误和问题,从而影响应用程序的质量;由于需要多次手动构建,因此开发人员的工作效率会大大降低;手动构建往往缺乏标准化,各部分之间难以协调,这可能导致代码和应用程序的质量下降,代码难于维护;如果没有该工具来完成应用程序的构建,将难以实现持续集成,从而难以及时交付应用程序。
本发明通过模块化、可配置化的方式,避免了在每个产品开发过程中重复编写相同的代码和界面,节省了时间和人力资源,并减少了维护成本;通过Java脚本代码实现应用模块化,在不同产品中可以灵活配置和组装模块,增加了应用的可配置性和通用性;同时,也支持产品定制化,使得各个产品之间有差异化的功能和界面;通过自动化构建工具自动生成产品代码,并完成Apk文件的编译,省去了手动构建的繁琐流程,提高了开发效率;将应用的各个模块抽象出来,每个模块都可以独立更新,便于维护和升级在应用开发中具有重要的创新性和实用性,能够有效地提高应用开发的效率和质量,减少开发成本,提高应用的可配置性和通用性,同时支持产品定制化需求。
如图2所示,一种基于Java的产品代码生成方法,包括以下步骤:
步骤一:定义功能项目的脚本代码,并将功能项目的脚本代码存储至脚本库内;
步骤二:获取客户需求,根据所述客户需求获取N个产品信息;并根据所述产品信息生成产品画像;
步骤三:根据所述产品画像在所述脚本库模块中进行检索,获取对应的N个功能项目的脚本代码;
步骤四:根据现有的计算机编程语言和N个功能项目的脚本代码获取产品代码;
步骤五:生成Apk文件,并将所述Apk文件发送至指定的目录进行归档。
在一个具体的实施例中,基于Java的产品代码生成方法,包括以下步骤:
步骤一:开发人员将代码提交脚本库中;
步骤二:与产品部门确定好每个产品具有哪些功能项目;
步骤三:利用Java编写产品代码,目的是用步骤一中的代码对步骤二中每个产品确定的功能项目进行修改,生成对应产品的功能项目组合;
步骤四:步骤三编写的产品代码对外方法需设置支持产品的参数,生成产品的代码,需要通过该参数指定;
步骤五:准备服务器,搭建Java、Android以及Jenkins环境;
需要进一步说明的是,Jenkins是一个开源软件项目,基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成;
Android(安卓)是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,安卓App是指运行在安卓操作系统上的应用程序;
步骤六:新建Jenkins任务,以下通过生成产品一为例(如下步骤均在Jenkins中配置或者编写脚本完成);
①拉取脚本库中的代码;
②编译步骤三中编写的java脚本代码,生成class文件;
③执行②中编译的class中方法,并指定方法参数,说明此次生成的是产品一的代码;
④完成产品一的脚本代码生成,此时执行gradle打包;
⑤完成gradle打包完成,生成Apk文件成功;
⑥将生成的Apk文件copy至指定的目录进行归档;
步骤七:产品一已经生成,如需要生成产品二的Apk文件,只需要重新创建一个Jenkins任务,修改步骤四中方法参数,指定是产品二,重新构建Jenkins任务即可快速生成产品二的Apk文件;
若有新的需求代码提交,在Jenkins中重新构建对应的产品即可。
以上实施例仅用以说明本发明的技术方法而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方法进行修改或等同替换,而不脱离本发明技术方法的精神和范围。
Claims (8)
1.一种基于Java的产品代码生成系统,其特征在于,包括脚本库模块、产品定制模块、代码生成模块以及归档模块;
所述脚本库模块用于存储功能项目的脚本代码;
所述产品定制模块用于获取产品画像,并将所述产品画像发送至所述代码生成模块;
所述代码生成模块用于根据所述产品画像生成产品代码,包括以下步骤:
所述代码生成模块接收所述产品画像,并根据所述产品画像在所述脚本库模块中进行检索,获取对应的功能项目的脚本代码;
通过Java和功能项目的脚本代码获取产品代码;
所述归档模块用于存储Apk文件。
2.根据权利要求1所述的一种基于Java的产品代码生成系统,其特征在于,所述脚本库模块内存储的脚本代码为基于Java的脚本代码;
所述脚本代码具备通用性和可配置性。
3.根据权利要求1所述的一种基于Java的产品代码生成系统,其特征在于,所述脚本库模块包括脚本定义单元和脚本配置单元;
所述脚本定义单元用于定义功能项目的脚本代码;
所述脚本配置单元用于为功能项目的脚本代码创建配置文件;其中,所述配置文件包括配置信息;
所述配置信息包括功能项目名称、图标以及版本号。
4.根据权利要求1所述的一种基于Java的产品代码生成系统,其特征在于,所述产品定制模块获取产品画像,包括以下步骤:
所述产品定制模块获取客户需求,并根据所述客户需求获取产品信息;其中,所述产品信息包括产品的颜色、背景、功能是否开启以及启动画面;
所述产品定制模块根据所述产品信息生成产品画像。
5.根据权利要求1所述的一种基于Java的产品代码生成系统,其特征在于,通过Java和功能项目的脚本代码获取产品代码,包括以下步骤:
S1:获取功能项目的脚本代码;
S2:利用Java对功能项目的脚本代码进行编写,生成class文件;
S3:执行S2中编译的class文件中方法,并指定方法参数;生成的代码即为产品代码。
6.根据权利要求1所述的一种基于Java的产品代码生成系统,其特征在于,所述归档模块存储Apk文件,包括以下步骤:
S1:产品代码生成后,利用自动化构建工具将产品代码进行打包;
S2:自动化构建工具将产品代码进行打包后,生成Apk文件;
S3:将所述Apk文件发送至指定的目录进行归档。
7.根据权利要求6所述的一种基于Java的产品代码生成系统,其特征在于,所述自动化构建工具包括gradle。
8.根据权利要求1-7任意一项所述的一种基于Java的产品代码生成系统的产品代码生成方法,其特征在于,包括以下步骤:
步骤一:定义功能项目的脚本代码,并将功能项目的脚本代码存储至脚本库内;
步骤二:获取客户需求,根据所述客户需求获取N个产品信息;并根据所述产品信息生成产品画像;
步骤三:根据所述产品画像在所述脚本库模块中进行检索,获取对应的N个功能项目的脚本代码;
步骤四:根据现有的计算机编程语言和N个功能项目的脚本代码获取产品代码;
步骤五:生成Apk文件,并将所述Apk文件发送至指定的目录进行归档。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310463553.XA CN116483352A (zh) | 2023-04-26 | 2023-04-26 | 一种基于Java的产品代码生成系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310463553.XA CN116483352A (zh) | 2023-04-26 | 2023-04-26 | 一种基于Java的产品代码生成系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116483352A true CN116483352A (zh) | 2023-07-25 |
Family
ID=87217464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310463553.XA Pending CN116483352A (zh) | 2023-04-26 | 2023-04-26 | 一种基于Java的产品代码生成系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483352A (zh) |
-
2023
- 2023-04-26 CN CN202310463553.XA patent/CN116483352A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851356B (zh) | 一种基于Selenium的Web应用自动化测试框架及其构建方法、系统 | |
CN110928529B (zh) | 辅助算子开发的方法和系统 | |
CN112882700B (zh) | iOS应用程序构建方法及装置、电子设备及存储介质 | |
EP2169547B1 (en) | Compilation model for programmable logic controllers (PLC). | |
US20150100832A1 (en) | Method and system for selecting and executing test scripts | |
CN111752581B (zh) | 一种分布式系统的升级方法、装置和计算机系统 | |
CN111459539B (zh) | 基于镜像分层的持续集成流水线运行方法及装置 | |
US20220237007A1 (en) | Supervisory device with deployed independent application containers for automation control programs | |
CN113434158B (zh) | 一种大数据组件的自定义管理方法、装置、设备及介质 | |
CN108287720B (zh) | 软件编译方法、装置、设备及存储介质 | |
CN117806654B (zh) | 一种基于Tekton的自定义云原生DevOps流水线系统及方法 | |
US9477447B1 (en) | Semantic representations of software extensions | |
CN113126961B (zh) | 流水线处理方法、装置和存储介质 | |
CN112925610A (zh) | 一种基于Kubernetes的流水线自动化构建部署的方法及系统 | |
CN116483352A (zh) | 一种基于Java的产品代码生成系统及方法 | |
CN114090189A (zh) | 一种基于流水线的构建部署管理方法及系统 | |
CN113110872B (zh) | 一种Android自动化配置构建平台及操作方法 | |
CN114564213A (zh) | 预装软件部署方法、系统、终端及存储介质 | |
CN112836220A (zh) | 一种云中心环境检查方法 | |
CN111400319A (zh) | 数据处理框架的实现方法、装置、设备及计算机存储介质 | |
CN112579443B (zh) | 智慧测试机器人的自动化测试方法及平台 | |
CN110098963B (zh) | 一种服务器运维管控方法及系统 | |
CN115826944A (zh) | 一种基于容器的持续集成方法和系统 | |
CN116302963A (zh) | 基于模块编译工具mbs的软件测试方法、系统及介质 | |
Auchynnikau | Implementace systému CI (Continuous Integration) |
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 |