关键词:源码编译,O2OA,O2Server,编译教程

O2OA是真正全代码开源的应用开发平台,开发者可以直接使用从github或者gitee上clone的源码编译成服务器,代码可以修改,安全可靠,无限制。本文主要介绍如何从gitee上下载源码并且完成服务器编译打包工作。


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



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

二、安装Github Desktop

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

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

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

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



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

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



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



请注意,我们建议您Clone您之前Fork到自己的gitee仓库里的源码,可以观察一下Clone的地址:
如:https://gitee.com/**您的github账号**/O2OA, 而不是https://gitee.com/o2oa/O2OA

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



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

四、外部依赖目录下载

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

commons.zip[http://download.o2oa.net/download/commons/commons.zip]
但是这个commons.zip 包括jvm8 和jvm11,有点大,如果建议可以下载
http://download.o2oa.net/download/commons/commons_jvm8.zip
http://download.o2oa.net/download/commons/commons_jvm11.zip
解压的文件夹要命名为commons

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


image.png


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

QQ截图20200107181858.png

五、JVM下载


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

JVM 下载


或者在官方提供的百度云盘中也可以下载:
百度网盘下载: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/)



下载windows安装程序(.mis)

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


2、安装配置maven环境

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



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

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



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



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


3、安装配置git


https://git-scm.com/downloads直接下载,然后直接安装就行

查看安装版本git --version,如果出现版本号就是成功的
image.png

七、编译源码

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

cd E:\git\o2oa


image.png


**

npm i -g gulp-cli

npm i -g jsdoc


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

推荐文章:

系统集成-腾讯企业邮集成配置
2021-02-25
O2OA平台并不包含企业邮箱解决方案,我们建议将专业的商业邮箱集成到O2OA中,作为更优的企业邮箱解决方案。本篇主要介绍如何在O2OA中如何集成腾讯企业邮。
流程设计-流程表单事件功能介绍
2021-02-26
本文主要介绍如何在O2OA中进行审批流程表单或者工作流表单设计,O2OA主要采用拖拽可视化开发的方式完成流程表单的设计和配置,不需要过多的代码编写,业务人员可以
数据中心-自定义查询语句
2021-03-01
O2OA提供的数据管理中心,可以让用户通过配置的形式完成对数据的汇总,统计和数据分组展现,查询和搜索数据形成列表数据展现。也支持用户配置独立的数据表来适应特殊的
报销申请使用手册
2021-02-19
O2OA报销申请是使用平台能力自定义开发的一个业务流程,它适用于企业内员工财务报销申请的电子审批。员工新建报销申请流程,确定报销申请信息,发起审批、财务处理、备
组织人员同步-自定义同步接口代码
2021-03-03
O2OA允许用户自定义接口和代码逻辑来完成系统与第三方业务系统的数据同步,人员和组织的同步。本文主要介绍如何在O2OA中开发接口与外部系统进行组织和人员的同步,
服务器文件目录结构说明
2021-02-25
本章节主要说明O2OA信息化系统开发平台服务器目录以及各个目录用途相关的内容。
业务开发-组织架构-下级组织创建操作
2021-02-26
O2OA提供多级组织架构设置能力,用户可以在系统内设置集团、分公司、部门、小组等多级企业组织结构来满足办公需要。本文主要介绍如何在O2OA中创建顶组织的下级组织
系统配置-流程催办提醒配置
2021-02-25
O2OA平台设计了灵活的消息提醒数据交互方式,开发者可以根据自己的需要,来消费消息提醒数据,也可以将消息提醒数据接入到Kafka消息中间件来实现消息的准实时提醒
常见问题-服务器和日志时间相差12小时的问题
2021-02-07
解决方案:修改start_linux.sh,在最后的调用java命令的参数中添加时区参数:-Duser.timezone=GMT+08重启后生效!
系统角色权限设置说明
2021-02-25
O2OA平台内置19种不同的系统角色,适应于各类应用的权限控制。本篇主要简单讲述初平台拥有的角色列表以及如何对指定的应用进行权限设置

results matching ""

    No results matching ""