You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

146 lines
4.6 KiB

# Mapper和Service代码更新部署指南
## 构建状态确认
✅ 所有Mapper和Service Java文件已成功编译为class文件
### Mapper文件(最后编译时间:2025/11/6 13:50)
- 位置:`target\classes\com\example\web\mapper`
- 文件数量:20个class文件
- 包含:Cart_itemsMapper、EnterpriseMapper、ManagersMapper等所有必要的Mapper接口实现
### Service文件(最后编译时间:2025/11/6 13:50)
- 位置:`target\classes\com\example\web\service`
- 文件数量:11个class文件
- 包含:CustomerService、EnterpriseService、LoginService等所有Service实现类
## 部署方案
### 方案一:完整WAR包部署(推荐)
这种方法最安全、最可靠,确保所有组件版本一致。
1. **准备WAR文件**
```bash
# 确保WAR文件已生成
ls -la target/DL.war
```
2. **上传WAR文件到服务器**
```bash
# 使用SCP上传文件
scp target/DL.war user@server:/path/to/tomcat/webapps/
```
3. **设置文件权限**
```bash
# 在服务器上执行
sudo chown tomcat:tomcat /path/to/tomcat/webapps/DL.war
sudo chmod 644 /path/to/tomcat/webapps/DL.war
```
4. **重启Tomcat服务**
```bash
# 在服务器上执行
sudo systemctl restart tomcat
# 或者
sudo service tomcat restart
# 或者直接使用Tomcat的脚本
/path/to/tomcat/bin/shutdown.sh
/path/to/tomcat/bin/startup.sh
```
### 方案二:仅更新Mapper和Service的class文件(风险较高)
如果只修改了Mapper和Service代码,可以只更新这些class文件,但要注意版本兼容性问题。
1. **在服务器上定位目标目录**
```bash
# 在服务器上执行,找到应用部署目录
cd /path/to/tomcat/webapps/DL/WEB-INF/classes/com/example/web/
```
2. **备份当前文件**
```bash
# 在服务器上执行
mkdir -p ~/backup/mapper ~/backup/service
cp -r mapper/* ~/backup/mapper/
cp -r service/* ~/backup/service/
```
3. **上传新的class文件**
```bash
# 上传mapper文件
scp target/classes/com/example/web/mapper/*.class user@server:/path/to/tomcat/webapps/DL/WEB-INF/classes/com/example/web/mapper/
# 上传service文件
scp target/classes/com/example/web/service/*.class user@server:/path/to/tomcat/webapps/DL/WEB-INF/classes/com/example/web/service/
```
4. **设置文件权限**
```bash
# 在服务器上执行
sudo chown -R tomcat:tomcat /path/to/tomcat/webapps/DL/WEB-INF/classes/com/example/web/mapper/
sudo chown -R tomcat:tomcat /path/to/tomcat/webapps/DL/WEB-INF/classes/com/example/web/service/
sudo chmod 644 /path/to/tomcat/webapps/DL/WEB-INF/classes/com/example/web/mapper/*.class
sudo chmod 644 /path/to/tomcat/webapps/DL/WEB-INF/classes/com/example/web/service/*.class
```
5. **重载应用(可选)**
- 方法1:重启Tomcat(最可靠)
```bash
sudo systemctl restart tomcat
```
- 方法2:使用Tomcat Manager或JMX热重载(风险较高)
## 验证部署
1. **检查Tomcat日志**
```bash
# 在服务器上执行
tail -f /path/to/tomcat/logs/catalina.out
```
2. **测试应用功能**
- 访问应用的关键功能
- 执行涉及更新的Mapper和Service的操作
## 回滚方案
如果遇到问题,按照以下步骤回滚:
1. **方案一回滚**
```bash
# 在服务器上执行
sudo rm -f /path/to/tomcat/webapps/DL.war
sudo rm -rf /path/to/tomcat/webapps/DL/
# 上传之前的备份WAR文件
scp backup/DL.war user@server:/path/to/tomcat/webapps/
sudo chown tomcat:tomcat /path/to/tomcat/webapps/DL.war
sudo systemctl restart tomcat
```
2. **方案二回滚**
```bash
# 在服务器上执行
cp -r ~/backup/mapper/* /path/to/tomcat/webapps/DL/WEB-INF/classes/com/example/web/mapper/
cp -r ~/backup/service/* /path/to/tomcat/webapps/DL/WEB-INF/classes/com/example/web/service/
sudo systemctl restart tomcat
```
## 注意事项
1. **版本兼容性**:确保Mapper和Service的修改与其他组件兼容
2. **事务一致性**:特别注意涉及多个Mapper的事务操作
3. **数据库变更**:如果Mapper修改涉及数据库结构变更,请先执行数据库迁移
4. **缓存清理**:如有必要,清除相关缓存
5. **生产环境建议**:在生产环境中,强烈推荐使用方案一进行完整部署
## 后续维护建议
1. **建立部署文档**:记录每次部署的变更内容
2. **制定回滚计划**:为每次更新准备回滚方案
3. **监控应用性能**:部署后密切关注应用性能指标
4. **测试完整性**:执行完整的功能测试套件
---
此指南由自动化工具生成,最后更新时间:2025/11/6 13:51