如果我们要编译指定操作系统版本的O2OA,可以使用以下命令:
方法一:没有下载JVM和依赖包commons
如果您没有手工下载JVM和依赖包commons,也没有关系,我们可以使用 “build_ci:xxx” 命令:
推荐是使用此方式编译,这样可以保证编译程序找到合适的commons版本
#编译windows版本 npm run build_ci:win #编译linux x86版本 npm run build_ci:linux #编译aix版本 npm run build_ci:aix #编译linux arm版本 npm run build_ci:arm #编译windows版本 npm run build_ci:macos #编译linux mips版本 npm run build_ci:mips #编译树莓派版本 npm run build_ci:rpi
如果已经手工下载了正确版本的JVM和依赖包commons,并放到的了o2server目录下,则使用 “build:xxx” 命令:
#编译windows版本 npm run build:win #编译linux x86版本 npm run build:linux #编译aix版本 npm run build:aix #编译linux arm版本 npm run build:arm #编译windows版本 npm run build:macos #编译linux mips版本 npm run build:mips #编译树莓派版本 npm run build:rpi此时您必须保证下载的commons版本和现在编译的服务器版本相匹配,否则编译后服务器运行可能会有异常。
编译脚本功能清单
编译脚本的功能清单如下:
命令 | 运行 | 说明 |
build_ci | npm run build_ci | 编译源码,自动下载JVM和依赖包,并构建可以运行在所有支持的操作系统的服务器。 |
build_ci:xxx | npm run build_ci:win npm run build_ci:linux npm run build_ci:aix npm run build_ci:arm npm run build_ci:macos npm run build_ci:mips npm run build_ci:rpi | 编译源码,自动下载指定操作系统环境的JVM和依赖包,并构建可以运行在指定操作系统的服务器。 |
build | npm run build | 预先下载JVM和依赖包,并放到o2server目录, 编译源码,构建可以运行在所有支持的操作系统的服务器。 |
build:xxx | npm run build:win npm run build:linux npm run build:aix npm run build:arm npm run build:macos npm run build:mips npm run build:rpi | 预先下载JVM和依赖包,并放到o2server目录, 编译源码,构建可以运行在指定操作系统的服务器。 |
build_server | npm run build_server | 单独编译O2OA服务端 |
build_web | npm run build_web | 单独编译O2OA Web端 |
build_api | npm run build_api | 生成O2OA脚本API文档 |
源码文件结构解析
趁服务器编译的过程,我们简单介绍一下源码文件结构。(打开gitee项目主页)
更目录下主要文件和目录:
o2android/ | |
o2ios/ | |
o2server/ | 服务端源码目录 |
o2web/ | Web端源码目录 |
Jenkins* | Jenkins流水线文件,我们在持续发布流程中的流水线文件, |
build.xml | maven打包文件 |
gulpfile.js | 打包脚本文件 |
... | 略 |
前端的源码都放置在o2web目录,其中代码部分都在o2web/source/目录下,其他一些是相关的配置和打包脚本文件,所以我们简单介绍一下o2web/source/目录的内容
o2_core/ | O2OA前端的平台的核心代码,如一些用户认证相关,平台框架相关,服务请求相关的脚本代码。 |
o2_lib/ | O2OA前端会引用到,或者可能会引用到的第三方框架或功能组件,如vue、mootools、ckeditor、echarts等 |
x_component_xxxxx | 每个x_component开头的目录就是一个O2OA平台的一个应用,如: x_component_Org-是组织管理应用; x_component_portal_Portal - 是展现门户的应用; x_component_process_TaskCenter - 是待办中心应用; x_component_Meeting - 是会议管理应用; …… |
o2_desktop | 主要放置各种html文件,以及载入前端应用的loader脚本代码 |
o2server目录结构说明
configSample/ | 存放config的配置样例,在变异过程中会根据注解自动生成默认配置文件. |
localSample/ | 存放local目录的配置文件,目前只有节点标识文件node.cfg. |
x_console/ | 目录存放的是启动的主程序. |
x_*_core_entity/ | 实体类项目.编译后打包成jar. |
x_*_assemble_control | 业务装配模块,最终向前端提供业务服务. |
x_*_service_*/ | 后台服务模块,仅对其他模块提供服务,不向前端开放. |
console_*.sh | 控制台进入脚本. |
restart_*.sh | 服务器重启脚本 |
service_windows.bat | 将服务器作为windows服务的生成脚本. |
start_*.sh | 服务器启动脚本. |
stop_*.sh | 服务器停止脚本. |
此时服务器应该编译打包完成,打开源码的target/o2server目录展示,通过命令可以启动服务器:
windows系统运行:start_windows.bat
x86的linux系统运行: start_linux.sh
arm的linux系统运行: start_arm.sh
等等。
若有收获,就点个赞吧