当前位置: 首页 > news >正文

相对路径 绝对路径 核心总结(Windows + Java 开发专用)

**

相对路径的 “起点” 是你的 YAML 文件所在目录,而目标文件不在这个起点的 “子目录” 里,必须先退回到两者的公共目录,才能找到目标文件。

**
我不理解为什么配置相对路径 需要退回呢

你这个疑问特别贴合新手的认知痛点!其实配置相对路径需要“退回(写../)”,核心原因就一个:相对路径的“起点”是你的YAML文件所在目录,而目标文件不在这个起点的“子目录”里,必须先退回到两者的公共目录,才能找到目标文件

我用「找东西」的生活场景+可视化目录结构,帮你彻底理解:

先看一个直观的目录地图(对应你当前的场景)

D盘根目录 ├─ cremate-cloud-new/ <-- YAML所在的项目文件夹 │ └─ cremate-cloud/ │ └─ daemon-server-175/ │ └─ src/ │ └─ main/ │ └─ resources/ │ └─ application-dev.yml <-- 相对路径的「起点」 └─ O3DE/ <-- exe所在的文件夹 └─ projects/ └─ 01XiaoQu/ └─ install/ └─ bin/ └─ Windows/ └─ release/ └─ Monolithic/ └─ XiaoQu.GameLauncher.exe <-- 你要找的「目标」

为什么必须“退回”?用生活场景类比

把这个目录结构想象成你家的两层商场:

  • 你现在站在「D盘商场」的「cremate-cloud-new区」→「cremate-cloud专柜」→「daemon-server-175货架」→「src层」→「main格」→「resources抽屉」里(YAML的位置);
  • 你要找的exe在「D盘商场」的「O3DE区」里;
  • 你不可能直接从「resources抽屉」穿到「O3DE区」,必须先:
    1. 从「resources抽屉」退到「main格」(1个../);
    2. 退到「src层」(2个../);
    3. 退到「daemon-server-175货架」(3个../);
    4. 退到「cremate-cloud专柜」(4个../);
    5. 退到「cremate-cloud-new区」(5个../);
    6. 此时你到了「D盘商场大厅」(D盘根目录),才能走到「O3DE区」找到exe。

简单说:退回的本质是“回到你和目标文件的公共区域”,如果目标文件不在当前起点的子目录里,就必须先退,再找。

什么时候不用退回?

只有一种情况:目标文件在YAML所在目录的「子目录」里(比如把exe放到resources/bin/里),此时直接写./bin/XiaoQu.GameLauncher.exe就行,不用退。

总结

  1. 相对路径的核心是「以YAML所在目录为起点」,所有路径都从这个起点算;
  2. ../退回,是因为目标文件不在起点的子目录里,必须先回到公共目录;
  3. 退回的层数 = 从起点目录到公共目录的层级数(比如你这里是5层,退到D盘根目录)。

相对路径 & 绝对路径 核心总结(Windows + Java 开发专用)

一、核心定义

路径类型定义核心特点
绝对路径磁盘根目录开始的完整路径明确、直接,不受当前目录影响
相对路径基准目录(如 YAML 所在目录)开始的路径灵活、可移植,依赖基准目录位置

二、关键符号(通用规则,所有系统/语言都遵守)

符号含义示例
.当前目录./bin/exe→ 基准目录下的 bin 子目录
..上级目录(回退一级)../exe→ 基准目录的上一级目录里的 exe
/\\目录分隔符Windows 推荐用/(无需转义),或\\(转义后)

三、核心区别 & 适用场景

对比维度相对路径绝对路径
路径写法基于基准目录,需算层级(../从磁盘根开始,写全路径
跨磁盘支持❌ 仅支持同一磁盘✅ 支持任意磁盘
项目移植性✅ 项目整体移动(如 D 盘→E 盘),路径仍有效❌ 项目移动后,路径失效
维护成本高(层级多易写错)低(直观不易错)
适用场景项目内文件引用(如 resources 下的配置、图片)项目外文件引用(如桌面、其他磁盘的 exe)

四、使用规则(必记!)

  1. 相对路径使用前提

    • 必须在同一磁盘内;
    • 明确基准目录(你的场景:YAML 配置文件所在目录);
    • 回退层级 = 基准目录到「公共父目录」的层数。
  2. 绝对路径优化技巧(Windows 专属)
    用系统环境变量代替硬编码路径,更灵活:

    环境变量含义示例
    ${USERPROFILE}当前用户目录(C:\Users\XXX)${USERPROFILE}/Desktop/exe
    ${SystemDrive}系统盘根目录(如 C:\)${SystemDrive}/O3DE/projects/exe

五、你的场景实战示例

已知条件

  • YAML 基准目录:D:\cremate-cloud-new\cremate-cloud\daemon-server-175\src\main\resources
  • exe 路径:D:\O3DE\projects\01XiaoQu\install\bin\Windows\release\Monolithic\XiaoQu.GameLauncher.exe

1. 相对路径写法

  • 回退 5 层到 D 盘根目录 →../../../../../
  • 拼接 exe 路径 →O3DE/projects/01XiaoQu/install/bin/Windows/release/Monolithic/XiaoQu.GameLauncher.exe
  • 最终:../../../../../O3DE/projects/01XiaoQu/install/bin/Windows/release/Monolithic/XiaoQu.GameLauncher.exe

2. 绝对路径写法(推荐)

dream-path:D:/O3DE/projects/01XiaoQu/install/bin/Windows/release/Monolithic/XiaoQu.GameLauncher.exe

3. 环境变量优化写法(最优)

dream-path:${SystemDrive}/O3DE/projects/01XiaoQu/install/bin/Windows/release/Monolithic/XiaoQu.GameLauncher.exe

六、避坑指南

  1. 跨磁盘不要用相对路径,直接用绝对路径;
  2. Windows 写路径时,优先用/代替\(无需转义);
  3. 相对路径层级太多时(超过 3 层),建议改用绝对路径或环境变量;
  4. Java 读取路径时,先打印解析后的完整路径,验证是否正确。

http://www.jsqmd.com/news/459475/

相关文章:

  • 图图的嗨丝造相-Z-Image-Turbo多平台部署:Jetson Orin Nano边缘设备上的轻量化运行方案
  • VMware Workstation 17 Pro 中文最新完整版下载地址和安装教程与永久key密钥 VMware-workstation-full-17.0.1.exe
  • Qwen3-VL-8B中文理解强?多语言图文对比评测
  • 目标检测模型和语言模型
  • lora-scripts实战:基于50张图片训练古风水墨风格,生成效果详细评测
  • PyTorch 2.9保姆级教程:从零开始搭建GPU加速训练环境
  • Emotion2Vec+ Large输出目录管理:results文件归档自动化脚本
  • 多模态多目标带局部PF问题
  • Face Fusion能否部署在云服务器?远程访问可行性分析
  • GLM-TTS固定种子42?可复现性在生产中的应用
  • 自然语言处理与bert
  • 文墨共鸣惊艳效果展示:转述识别准确率92.7%的水墨风语义分析作品集
  • 指针基础知识总结
  • 为什么你始终看不懂JavaScript?
  • vue3:最新实现腾讯人脸核身+增强版人脸核身使用方法及示例源码,Vue3如何使用腾讯云慧眼人脸核身,提供人脸核身案例、身份信息核验、活体检测与核身比对等示例代码(后端spring与thinkphp)
  • Cursor 生死存亡:AI 编程痛点解决效率提升实战
  • LiuJuan Z-Image Generator实战案例:跨境电商独立站产品模特图生成SOP
  • Kdevelop使用步骤详解(Linux)
  • vue3:解决天地图api调用报403(Forbidden)错误,调用天地图服务出现403错误(或者部署到服务器后天地图API接口返回403详细排查和解决方法)彻底解决天地图403 Forbidden
  • Qwen3-0.6B-FP8详细步骤:Web界面主题定制+Logo替换与品牌化部署
  • 2026年知名的锦纶面料品牌推荐:coolmax面料/阳离子面料/石墨烯面料厂家最新推荐 - 行业平台推荐
  • 百川2-13B-4bits开源镜像部署案例:教育机构用作AI助教,支持学生编程答疑
  • (第二篇)Spring AI 实战进阶:从 0 搭建 SaaS 模式多租户 AI 客服平台(核心难点 + 性能优化全解析)
  • 部署完OpenClaw不能随时用!郁闷不?cpolar能解锁N种随身玩法!
  • [React Native for OpenHarmony] 将代码提交至AtomGit平台自建公开仓库用于分布式管理
  • PETRV2-BEV训练效果惊艳:BEV检测结果叠加原始环视图像的精准对齐展示
  • 【FacePoison+】Hiding Faces in Plain Sight: Defending DeepFakes by Disrupting Face Detection
  • Bidili Generator保姆级教程:解决SDXL显存高、LoRA不兼容痛点
  • ROS2(服务,launch,工具,仿真)
  • Comsol 探索光子晶体谷霍尔效应:从单胞、超胞到谷单向传输