O2OA在github上开源了平台源码,用户可以Fork源码,并且自己进行服务器编译,打包。也支持对源码自行进行修改后进行服务器打包。
O2OA项目的Github仓库:github.com/o2oa/o2oa
因为在github上Clone源码实在是太慢了(60-600KB/S左右),所以我们也可以使用国内的仓库Gitee[码云]来下载,速度会快很多,通常在(10MB/S左右)。
具体步骤如下,以Gitee为例,其实Github也是相同的操作方式:
一、Fork源码到自己的Gitee仓库
- 访问O2OA项目的[码云]Gitee仓库:gitee.com/o2oa/O2OA

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

二、安装Github Desktop
下载Github Desktop:desktop.github.com/

三、使用Github Desktop客户端Clone源码到本地
1)查询自己的Gitee仓库[码云]中O2OA项目的Clone地址

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


如:gitee.com/您的github账号/O2OA, 而不是https://gitee.com/o2oa/O2OA
3)正在Clone,等等Clone完成即可。如下图所示:

四、外部依赖目录下载

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

或者在官方提供的百度云盘中也可以下载:
百度网盘下载:pan.baidu.com/s/1oBQ1atXG… 提取码:pnk9

五、JVM下载

AIX:download.o2oa.net/download/jv…
Linux:download.o2oa.net/download/jv…
MacOS:download.o2oa.net/download/jv…
树莓派:download.o2oa.net/download/jv…
WIN:download.o2oa.net/download/jv…
麒麟(龙芯):download.o2oa.net/download/jv…
麒麟(飞腾):download.o2oa.net/download/jv…
或者在官方提供的百度云盘中也可以下载:
百度网盘下载:pan.baidu.com/s/1oBQ1atXG… 提取码:pnk9

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

六、配置源码编译环境
1、安装Nodejs
nodejs下载地址:nodejs.cn/download/ (您也可以从官网下载:nodejs.org/en/ )

下载windows安装程序(.mis)
下载完成后直接进行安装,直接next直至安装完成即可。如下图所示:

2、安装配置maven环境
1)Maven下载地址:maven.apache.org/download.cg… 下载好之后,解压并选择存放路径

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



七、编译源码
(一)编译o2web
- 打开命令提示工具,cd到o2oa/o2server目录
cd E:\O2\o2oa\o2server
建议使用CMD,因为gulp命令需要在CMD下运行,PowerShell貌似有问题

npm i -g gulp-cli

npm install

gulp


(二)编译o2server
执行此步骤之前,请确保源码、依赖包、jvm已经下载并且放置正确,NodeJs和Maven环境配置正确
- 打开命令提示工具CMD,cd到o2oa/o2server目录(或者直接在o2server目录打开powersheell(win10))
cd E:\O2\o2oa\o2server

先执行mvn clean,确保之前编译的代码全部都已经被清除,防止编译后的执行文件与源码不一致的问题
mvn clean
然后再执行mvn install进行源码编译:
mvn install



注意:首次编译时可能会因为编译顺序的问题导致第一次编译过程失败,此时只需要再次运行mvn install即可完成编译。

八、可运行的服务器
目录:o2oa/o2server/o2server.zip, COPY到其他目录,解压后可以执行o2server目录下的启动脚本运行服务器(需要管理员权限)。如下图所示:
