3.0 KiB
3.0 KiB
🚨 项目硬编码路径分析报告
✅ 已正确配置化的路径
以下路径已正确使用配置文件,不再硬编码:
1. 基础文件路径 ✅
@Value("${img.upload}")- 图片上传路径@Value("${temp.path}")- 临时文件路径@Value("${upload.path}")- 上传根路径@Value("${report.path}")- 报表路径@Value("${unzip.path}")- 解压路径
2. 使用配置的主要文件 ✅
ImportService.java- tempPath已配置CompactShelvingController.java- tempPath已配置ReportTemplateService.java- reportPath已配置OADockingIml.java- unzipPath已配置
❌ 发现的问题路径
1. UReport文件下载路径硬编码 🚨
文件: src/main/java/com/point/strategy/docSimpleArrange/controller/DocSimpleController.java
String fileName = "创建文书简化pdf文件.pdf";
String downLoadPath = "D:\\\\ureportfiles\\\\"+fileName; // ❌ 硬编码
文件: src/main/java/com/point/strategy/oaDocking/controller/DocTraditionVolumeOaController.java
String downLoadPath = "C:\\\\ureportfiles\\\\"+fileName; // ❌ 硬编码
outputStream = new FileOutputStream(new File("C:\\ureportfiles\\"+fileName)); // ❌ 硬编码
2. 测试代码中的硬编码 ⚠️
文件: src/main/java/com/point/strategy/oaDocking/service/YcjSystemIntegration.java
// main方法中的测试代码
new FileInputStream(new File("D:\\2\\222.pdf")); // ⚠️ 测试代码硬编码
new File("D:\\2\\222.pdf").length(); // ⚠️ 测试代码硬编码
3. 注释中的示例路径 💡
// 这些是注释和示例,通常不影响运行
// DbOperate.dbBackUp("root", "123456", "zaizhi", "d:/3", backName);
// if (exportDatabaseTool("192.168.1.112", "3306","root", "123456", "d:/3", "zaizhi.sql", "zaizhi")) {
🔧 修复建议
1. 立即修复: UReport下载路径
方案A: 添加配置项
# application-prod.yml 中添加
ureport:
download:
path: ${UREPORT_DOWNLOAD_PATH:/app/data/ureport}
方案B: 使用report.path
// 建议修改为
@Value("${report.path}")
private String reportPath;
String downLoadPath = reportPath + File.separator + fileName;
2. 清理测试代码
// 移除main方法中的硬编码路径,或改为配置化
📊 风险评估
| 问题类型 | 影响程度 | 修复难度 | 优先级 |
|---|---|---|---|
| UReport下载路径 | 🔴 高 | 🟢 低 | P0 |
| 测试代码硬编码 | 🟡 中 | 🟢 低 | P2 |
| 注释示例路径 | 🟢 低 | 🟢 低 | P3 |
🎯 推荐修复顺序
- 第一步: 修复UReport下载路径硬编码 (P0)
- 第二步: 清理YcjSystemIntegration测试代码 (P2)
- 第三步: 统一路径处理工具类 (P1)
总结: 主要问题是UReport文件下载使用了Windows硬编码路径,需要立即修复以支持Linux/Mac环境部署。