第二章 开发环境搭建与工具链
说实话,很多做OA二次开发的朋友,上来就急着写代码。我见过太多人,环境没配好就开始改代码,结果折腾半天发现是JDK版本不对。嗯,这一章咱们就把这些基础工作一次性搞定。
2.1 JDK配置:选对版本很重要
OA系统大多基于Java开发,JDK配置是第一道坎。我个人习惯用JDK 8或11,这两个版本在OA生态里最稳定。你想想看,很多老牌OA系统比如泛微、致远,它们的底层还是JDK 8为主。
配置步骤其实很简单:
- 下载JDK(推荐Oracle JDK或AdoptOpenJDK)
- 设置JAVA_HOME环境变量
- 把%JAVA_HOME%/bin加到Path里
- 命令行输入
java -version验证
这里有个小技巧:我习惯在系统里同时装多个JDK版本,通过切换JAVA_HOME来快速切换。比如开发OA用JDK 8,测试新功能时切到JDK 11。
2.2 Maven/Gradle构建工具
OA系统的二次开发,说白了就是不断加模块、改依赖。没有构建工具?那简直是噩梦。我推荐用Maven,原因很简单——OA生态里大部分开源组件都用Maven管理。
Maven的核心配置
先看一个典型的pom.xml:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.oa</groupId>
<artifactId>oa-custom</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.20</version>
</dependency>
</dependencies>
</project>
这里要注意的是依赖版本冲突。我在项目中遇到过好几次,OA系统自带的Spring版本和我们要引入的第三方库版本不兼容。解决办法是:用mvn dependency:tree查看依赖树,手动排除冲突项。
Gradle的配置
如果你更喜欢Gradle,那配置更简洁。不过说实话,OA二次开发用Gradle的团队不多。我个人的经验是:如果团队里都是老Java开发者,用Maven;如果团队年轻化,Gradle更合适。
plugins {
id 'java'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework:spring-core:5.3.20'
}
2.3 Git版本控制
做OA二次开发,Git是保命工具。你想想看,改错了代码、删错了文件,没有版本控制怎么回滚?
我建议的Git工作流是这样的:
- master分支:只放稳定版本,不能直接在上面改代码
- develop分支:日常开发的主分支
- feature分支:每个新功能建一个分支,开发完合并到develop
- hotfix分支:紧急修复用,修完合并到master和develop
我曾经犯过一个错误:直接在master上改代码,结果改到一半发现思路不对,想回退却发现已经提交了好几次。从那以后,我再也不敢在master上直接改代码了。
常用的Git命令:
# 克隆OA系统源码
git clone http://git.oa.com/oa-system.git
# 创建新分支
git checkout -b feature/add-leave-module
# 提交代码
git add .
git commit -m "feat: 新增请假模块"
# 合并到develop
git checkout develop
git merge feature/add-leave-module
2.4 本地开发环境与测试服务器部署
本地开发环境,说白了就是让你的电脑能跑起OA系统。我一般这样配:
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| JDK | 1.8 或 11 | 看OA系统要求 |
| 数据库 | MySQL 5.7 或 8.0 | OA系统大多用MySQL |
| 应用服务器 | Tomcat 8.5 或 9 | 轻量级,适合本地调试 |
| IDE | IntelliJ IDEA 或 Eclipse | 看个人习惯 |
部署到测试服务器时,我习惯用脚本自动化:
#!/bin/bash
# 部署脚本示例
# 1. 停止旧服务
systemctl stop tomcat
# 2. 备份旧包
cp /opt/tomcat/webapps/oa.war /opt/backup/oa_$(date +%Y%m%d).war
# 3. 复制新包
cp target/oa.war /opt/tomcat/webapps/
# 4. 启动服务
systemctl start tomcat
# 5. 查看日志
tail -f /opt/tomcat/logs/catalina.out
嗯,到这里开发环境就搭好了。下一章咱们开始真正动手,写第一个OA二次开发的模块。记住,环境搭好了,后面才能顺风顺水。