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 应用程序,则可以使用其他配置文件读取库来读取配置文件中的值。

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

相关推荐
阿星_6 分钟前
Linux Ubuntu 查看 SQLite 工具
linux·ubuntu·sqlite
Irene199110 分钟前
Flink 学习日志 01:前端转大数据的实战避坑指南
java·jvm·flink
Thomas.Sir11 分钟前
第1课:SpringBoot 4.x 快速上手:新特性、环境准备与第一个HelloWorld程序
java·spring boot
数据库小学妹12 分钟前
MySQL时区问题排查:TIMESTAMP和DATETIME的区别与跨时区对账踩坑
数据库·mysql·datetime·时区·timestamp·跨时区对账
devilnumber31 分钟前
Java 内部迭代 vs 外部迭代:从原理到实战避坑
java·开发语言
杨运交36 分钟前
080-缓存模块-Spring Cache缓存键前缀设计与租户隔离实践
java·spring·缓存
创世虚拟世界37 分钟前
把 3D 虚拟世界拉到本地:vibe coding 的手感,是从看见自己那一行改动开始的
javascript·数据库·人工智能·3d·gitee·虚拟现实
Lsetea39 分钟前
OpenSSL的checkhost显示不匹配却退出0:名称检查与证书验收
linux·https·shell·ssl证书·openssl
\光辉岁月/40 分钟前
5.math类
java·开发语言
文丑颜不良啊42 分钟前
LeetCode76~100题目解析
java·leetcode