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

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

相关推荐
独泪了无痕38 分钟前
探索Pinyin4j-Java中的拼音转换利器
java·后端
道尔柯南2 小时前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
Nturmoils2 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库
xiaomuzuirenzhen2 小时前
大专电子商务从事电商运营分析师需要考证吗?
大数据·数据库
kingx33 小时前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
Linux-lucky3 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默3 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk81634 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
翔云1234565 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub5 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考