# 服务器源码编译

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

**因为在github上Clone源码实在是太慢了，所以我们也可以使用国内的仓库gitee\[码云]来下载，速度会快很多。**

具体步骤如下：

## 一、Fork源码到自己的gitee仓库

1、访问O2OA项目的gitee仓库：<https://gitee.com/liyihz2008/O2OA>

![](https://oscimg.oschina.net/oscnet/5e1e99a58f038e25d8b9f5de0cdb6b16c67.jpg)

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

![](https://oscimg.oschina.net/oscnet/f6515e4edd65d66d4244a3e1f57027be55e.jpg)

## 二、安装Github Desktop

1、下载Github Desktop：<https://desktop.github.com/>

![](https://oscimg.oschina.net/oscnet/6755930cda64dda199b7c95f25dda345b9c.jpg)

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

1）查询自己的gitee仓库\[码云]中O2OA项目的Clone地址

![](https://oscimg.oschina.net/oscnet/b50d33723936497271679337c6e8c683153.jpg)

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

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

![](https://oscimg.oschina.net/oscnet/886c383129c41dd489dc41d53b1a498abaa.jpg)

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

![](https://oscimg.oschina.net/oscnet/739fc6d6f7ae35842fb2ed0cdbcd70f8a0f.jpg)

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

如：<https://gitee.com/**您的github账号**/O2OA，> 而不是<https://gitee.com/**liyihz2008**/O2OA>

3）正在Clone，等等Clone完成即可。如下图所示：

![](https://oscimg.oschina.net/oscnet/366de2dd40d36f110ccdbf87418041c2046.jpg)

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

## 四、配置源码编译环境

### 1、安装Nodejs

nodejs下载地址：<http://nodejs.cn/download/> （您也可以从官网下载：<https://nodejs.org/en/）>

![](https://oscimg.oschina.net/oscnet/d934ca91c240ea6e6f72f299b4148d98afc.jpg)

下载windows安装程序（.mis）

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

![](https://oscimg.oschina.net/oscnet/2b4958cd139609d2e415fc2ec118d0244f5.jpg)

### 2、安装配置maven环境

1）Maven下载地址：<http://maven.apache.org/download.cgi，> 下载好之后，解压并选择存放路径

![](https://oscimg.oschina.net/oscnet/25248387227c23ea872dcf52ff7a1d85d04.jpg)

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

新建系统变量：MAVEN\_HOME，复制Maven的路径

![](https://oscimg.oschina.net/oscnet/88aa73fb295a1e2d4e2ab9cb6037b68a333.jpg)

在系统变量：path中复制粘贴：%MAVEN\_HOME%\bin

![](https://oscimg.oschina.net/oscnet/bce4d5b5be6d86c3e1e5268f946c3aed051.jpg)

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

![](https://oscimg.oschina.net/oscnet/922464ec15477100d54ed9d28e203b1e998.jpg)

### 3、安装配置ant环境

官方<http://ant.apache.org/bindownload.cgi下载新版（目前为Ant1.10.5）的ant，得到的是一个apache-ant-1.10.5-bin.zip的压缩包。将其解压到你的硬盘上，例如：E:\Work\apache-ant-1.10.5。>

新建系统变量：ANT\_HOME，复制Ant的路径，如下图所示：

![](https://oscimg.oschina.net/oscnet/be398090ddc29534db2e00a3b8394a63702.jpg)

在系统变量：path中复制粘贴：%ANT\_HOME%\bin：

![](https://oscimg.oschina.net/oscnet/246366695599786472ee7973ecb9c5ae617.jpg)

在系统变量：classpath中复制粘贴：%ANT\_HOME%\lib

![](https://oscimg.oschina.net/oscnet/77429e3918629683f93be36a128726f6fad.jpg)

Win+R快捷键打开命令行，输入：ant，如出现以下图样，则表示配置成功

![](https://oscimg.oschina.net/oscnet/bea63d633e850ac60b38b69a10997f083d8.jpg)

## 五、初次编译源码

下载后o2server项目源码直接导入eclipse后会有很多依赖错误，因为大量的依赖包没有编译为jar文件，所以需要先将下载后的源码中o2server项目整体编译一次。

1、打开命令提示工具，cd到o2oa/o2server目录（或者直接在o2server目录打开powersheell(win10)）

```
cd E:\O2\o2oa\o2server
```

![](https://oscimg.oschina.net/oscnet/dbd363cc4da7e9020681b90f39ac77617a7.jpg)

2、在o2server目录下直接执行命令进行编译：**mvn install**，开始进行源码编译：

```
mvn install
```

![](https://oscimg.oschina.net/oscnet/63f6396617f93d5c1432de6d9e06df3d5ae.jpg)

直到编译完成（一共57个项目，视开发机性能约需5-20分钟），如下图所示：

![](https://oscimg.oschina.net/oscnet/64751e48373ee400f6ecc4874ce4a72677e.jpg)

3、打包安装程序： ant

```
ant
```

编译完成后，可直接支持ant命令进行打包：

![](https://oscimg.oschina.net/oscnet/02080f82cdbe31e9cbd170967767d52c6ad.jpg)

直到打包完成（视开发机性能，约5-10分钟），如下图所示：

![](https://oscimg.oschina.net/oscnet/1a5860f7566b073a8a1447d952d01aebfee.jpg)

## 六、使用Eclipse导入o2oa源码

注意，当源码导入到eclipse项目后，maven会从mvn repository下载所依赖的项目jar包，可能需要一些时间，视情况在5-30分钟左右。

![](https://oscimg.oschina.net/oscnet/896831c2bb17e519835c9079744562d8651.jpg)

当所有的依赖包下载完成后，eclipse里如果仍有大量报错，请在o2server项目上执行Maven -> Update Project...

## 七、关于Eclipse中pom.xml报错

1、关于o2server项目的pom.xml报错：

![](https://oscimg.oschina.net/oscnet/0337dd7b799ff46c1d79dec2700f02663bb.jpg)

三个相对路径依赖引用引起的pom.xml报错，可以忽略，完全不影响项目编译。

2、关于x\_base\_core\_project项目和所有的 \*\_core\_entity 项目中pom.xml报错

![](https://oscimg.oschina.net/oscnet/a18e76e52d69ac26f76a43260a3955dac43.jpg)

maven plugin的execution出错，可以忽略，不影响项目编译。解决方案可以百度：maven plugin的execution出错，有很多解决方案发，我们的源码会在近期更新时解决此问题。

## 八、单独的项目编译

将项目导入eclipse后，也可以在eclipse里使用maven插件对单个的项目进行编译。

直接打开指定项目，在pom.xml上运行Run as ... -> Maven install即可，如下图所示：

![](https://oscimg.oschina.net/oscnet/931c074275baf4dfaf842561826a18d8904.jpg)

编译完成后，jar 包将编译到目录：o2oa\o2server\store\jars，war包将编译到目录：o2oa\o2server\store


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://o2oa.gitbook.io/course/yuan-ma-de-bian-yi-ji-guan-li/yuan-ma-de-bian-yi-he-yuan-ma-jie-gou.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
