new File 得到的是父工程的src路径,而不是本微服务的路径。如何进行全局配置来解决这个问题

如果您希望在微服务中得到本微服务的路径,并进行全局配置来解决这个问题,可以考虑以下两种方法:

  1. 使用类加载器获取本微服务的路径:

    java 复制代码
    String basePath = YourClassName.class.getProtectionDomain().getCodeSource().getLocation().getPath();

    这种方法可以获取到当前类所在的路径,通常是微服务项目的根路径。您可以将此路径作为基准路径,然后通过拼接相对路径来获取其他文件或目录。

  2. 使用系统属性获取本微服务的路径:

    java 复制代码
    String basePath = System.getProperty("user.dir");

    这种方法可以获取到当前工作目录,通常是微服务项目的根路径。通过这种方法,您可以直接使用该路径来访问其他文件或目录。

对于全局配置,您可以将获取到的路径保存到配置文件中,例如 "application.properties",然后在需要使用路径的地方从配置文件中读取。如果是使用 Spring Boot,则可以使用 @Value 注解来注入配置文件的值。如果是非 Spring Boot 应用程序,则可以使用其他配置文件读取库来读取配置文件中的值。

这样,您就可以在整个微服务中使用统一的配置,来获取正确的微服务路径。同时,您也可以在部署时轻松更改配置文件中的路径,以适应不同的环境和部署要求。

相关推荐
资深技术分享员7 分钟前
Geejing WebBuilder 数据库连接配置与在线 SQL 工具,运维的左右手
运维·数据库·sql·低代码
高山有多高12 分钟前
【Linux笔记】UpdSocket
linux·运维·笔记
皓月盈江21 分钟前
Linux系统grep、sed 、awk介绍下,使用方法及区别?
linux·运维·服务器·sed·grep·awk
一只旭宝26 分钟前
C++ 后端开发面试题整理
java·c++·面试
sunshine22 girl32 分钟前
Java学习五 面向对象高级5 内部类3-静态内部类和局部内部类(了解)
java·学习
en.en..33 分钟前
Linux 进程退出exit(函数)
java·开发语言·算法
ao-weilai34 分钟前
MySQL数据库:表操作
数据库·mysql·adb
李游Leo35 分钟前
HarmonyOS 7 TaskPool + Node-API + zstd:Native 批量压缩任务的主线程隔离、进度回传与资源收口【鸿蒙心迹】
java·华为·harmonyos
Light Gao37 分钟前
Encoder 与 Decoder 详解:从 Embedding 到 Seq2Seq 的完整数据流
java·开发语言·embedding
宵时待雨43 分钟前
MySQL数据库1:数据库基础
服务器·数据库·mysql