O2OA在github上开源了平台源码,用户可以Fork源码,并且自己进行服务器编译,打包。也支持对源码自行进行修改后进行服务器打包。



O2OA项目的Github仓库:https://github.com/o2oa/o2oa


因为在github上Clone源码实在是太慢了(60-600KB/S左右),所以我们也可以使用国内的仓库Gitee[码云]来下载,速度会快很多,通常在(10MB/S左右)。


具体步骤如下,以Gitee为例,其实Github也是相同的操作方式:


一、Fork源码到自己的Gitee仓库

1、访问O2OA项目的[码云]Gitee仓库:https://gitee.com/o2oa/O2OA


image


2、点击Fork将O2OA源码Fork到自己的gitee[码云]仓库


image


二、安装Github Desktop


下载Github Desktop:https://desktop.github.com/


image


安装步骤和使用方法请自行百度。


三、使用Github Desktop客户端Clone源码到本地


1)查询自己的Gitee仓库[码云]中O2OA项目的Clone地址


image


2、打开Github Desktop客户端,从自己的github仓库中clone源码


1)打开Github Desktop客户端,点击Clone a repository form the Internet...


image


2)在弹出的Clone a repository对话框里选择URL选项卡,填写URL和Clone到的本地地址后,点击Clone即可开始Clone项目源码:


image


请注意,我们建议您Clone您之前Fork到自己的gitee仓库里的源码,可以观察一下Clone的地址:

如:https://gitee.com/您的github账号/O2OA, 而不是https://gitee.com/o2oa/O2OA


3)正在Clone,等等Clone完成即可。如下图所示:


image


从Github上Clone项目比gitee上要慢很多,可能需要更多的时间。


四、外部依赖目录下载


image.png

源码在经过编译打包成服务器后,运行时需要依赖一些jar包,这些jar包应该放在o2oa/o2server/commons目录下。但是因为依赖多比较多,从github和gitee上下载时时常出现下载后无法使用的问题,所以目前并没有放到github和gitee上,需要手工从官网下载解压后放入源码的o2oa/o2server目录下。


commons.zip[http://download.o2oa.net/download/commons/commons.zip]


具体的目录结构,可以参考从官网下载的可运行的服务器的实际目录解构


image.png



或者在官方提供的百度云盘中也可以下载:

百度网盘下载:https://pan.baidu.com/s/1oBQ1atXGyXdLaYE5uAqF1w 提取码:pnk9


QQ截图20200107181858.png


五、JVM下载


image.png

与外部依赖的原因类似,所有的JVM全部放到源码仓库将会是巨大的下载开销,所以官网提供了各种源码的下载,需要手工从官网下载解压后放放源码的o2oa/o2server/jvm目录下(如果没有该目录请自行创建该目录)


AIX:http://download.o2oa.net/download/jvm/aix.zip

Linux:http://download.o2oa.net/download/jvm/linux.zip

MacOS:http://download.o2oa.net/download/jvm/macos.zip

树莓派:http://download.o2oa.net/download/jvm/raspberrypi.zip

WIN:http://download.o2oa.net/download/jvm/windows.zip

麒麟(龙芯):http://download.o2oa.net/download/jvm/neokylin_loongson.zip

麒麟(飞腾):http://download.o2oa.net/download/jvm/kylinos_phytium.zip



或者在官方提供的百度云盘中也可以下载:

百度网盘下载:https://pan.baidu.com/s/1oBQ1atXGyXdLaYE5uAqF1w 提取码:pnk9


QQ截图20200107181858.png


具体的目录结构,可以参考从官网下载的可运行的服务器的实际目录解构


image.png


六、配置源码编译环境

注意一下,我们现在使用的 JDK 8 的环境,如果没有安装请安装一下java环境!


1、安装Nodejs


nodejs下载地址:http://nodejs.cn/download/ (您也可以从官网下载:https://nodejs.org/en/)


image


下载windows安装程序(.mis)


下载完成后直接进行安装,直接next直至安装完成即可。如下图所示:


image


2、安装配置maven环境

1)Maven下载地址:http://maven.apache.org/download.cgi, 下载好之后,解压并选择存放路径


image


2)首先打开我的电脑->属性->高级系统设置


新建系统变量:MAVEN_HOME,复制Maven的路径


image


在系统变量:path中复制粘贴:%MAVEN_HOME%\bin


image


Win+R快捷键打开命令行,输入:mvn -v,如出现以下图样,则表示配置成功


image



七、编译源码


1、打开命令提示工具,cd到o2oa目录


cd E:\git\o2oa


image.png




npm i -g gulp-cli


image.png



npm install


image.png


不同的目标环境,选择不同的指令,该过程时间较长,请耐心等候

npm run build:win    
npm run build:linux 
npm run build:aix 
npm run build:kylinos 
npm run build:macos 
npm run build:neokylin
npm run build:rpi


成功执行


image.png







注意:首次编译时可能会因为编译顺序的问题导致第一次编译过程失败,此时只需要再次运行npm run build:win(目标系统)即可完成编译。


QQ截图20200107180047.png





八、可运行的服务器

目录:target\o2server


image.png

启动的时候,非windows系统可能会报没有权限


需要赋予权限

chmod 777 target/o2server/*.sh  或者  chmod u+x target/o2server/*.sh