SpringBoot项目:如何优雅地获取项目根路径?
技术百科
聖光之護
发布时间:2024-11-30
浏览: 次 springboot 获取项目根路径
在开发项目时,我们经常需要获取项目的根路径来访问外部程序或脚本。在 springboot 中,我们可以轻松地获取项目根路径,无论是在开发环境还是打包后的 jar 包中。
通常,我们可以使用 system.getproperty("user.dir") 来获取项目的根路径。但是,在打包成 jar 包后,user.dir 将指向 jar 包所在目录,而不是项目根目录。
为了解决这个问题,我们提供了一种更优雅的方法:
public static String getAppRootPath() {
try {
File jarDir = new File(ClassUtils.getDefaultClassLoader().getResource("").getPath());
if (jarDir.getAbsolutePath().endsWith(".jar")) {
return jarDir.getParentFile().getAbsolutePath();
} else {
return System.getProperty("user.dir");
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}通过判断 jardir 的绝对路径是否以 ".jar" 结尾,我们可以确定当前是在开发环境还是 jar 包中运行。在开发环境中,返回 user.dir;在 jar 包中,返回 jar 包所在的父目录,即项目根目录。
使用这种方法,我们可以在任何情况下获取精确的项目根路径,从而访问外部程序或脚本。
# 是在
# 而不是
# 情况下
# 我们可以
# 可以使用
# 这种方法
# 解决这个问题
# 来访问
# 包中
# 开发项目
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Python路径拼接规范_跨平台处理说明【指导】
- Win11怎么清理C盘系统错误报告_Win11清理
- XAMPP 启动失败(Apache 突然停止)的终
- windows系统如何安装cab更新补丁_wind
- PythonWeb前后端整合项目教程_FastAP
- Win11怎么设置屏保_Windows 11屏幕保
- 如何在Golang中处理模块冲突_解决依赖版本不兼
- Windows10系统怎么查看CPU核心数_Win
- c# 在高并发下使用反射发射(Reflection
- Windows怎样关闭开始菜单广告_Windows
- Win11怎么查看局域网电脑_Windows 11
- Win10 BitLocker加密教程 Win10
- 如何使用Golang实现负载均衡_分发请求到多个服
- Win11怎么关闭通知消息_屏蔽Windows 1
- c++ reinterpret_cast怎么用 c
- 如何使用Golang捕获并记录协程panic_保证
- 如何用正则表达式精确匹配最多含一个换行符的起止片段
- PHP cURL GET请求:正确设置请求头与身份
- VSC怎样在Linux运行PHP_Ubuntu系统
- php嵌入式需要什么环境_搭建php+linux嵌
- windows如何测试网速_windows系统网络
- Python与MongoDB NoSQL开发实战_
- C++中引用和指针有什么区别?(代码说明)
- 如何使用Golang读取日志文件_Golang b
- Win11怎么关闭通知中心_Windows11系统
- Win11如何更改任务栏颜色 Win11自定义任务
- 手机php怎么转mp4_手机端php文件转mp4a
- php怎么操作Redis_Redis扩展连接与基本
- Python列表推导式与字典推导式教程_简化代码高
- 网站内页做seo排名怎么做?
- 如何使用Golang构建基础消息队列模拟_Gola
- Win11如何卸载OneDrive_Win11卸载
- 如何开启Windows的远程服务器管理工具(RSA
- 如何使用 Selenium 正确获取篮球参考网站球
- 如何在 Python 中将 ISO 8601 时间
- Windows服务持续崩溃怎样修复_系统服务保护机
- php本地部署后数据库连接报错_1045acces
- Win10怎样安装Word样式库_Win10安装W
- Python函数缓存机制_lru_cache解析【
- c++中如何使用auto关键字_c++11类型推导
- Mac怎么查看活动监视器_理解Mac进程和资源占用
- 如何高效识别并拦截拼接式恶意域名 spam
- Windows10怎样连接蓝牙设备_Windows
- php订单日志权限怎么设_php订单日志文件权限设
- win11如何清理传递优化文件 Win11为C盘瘦
- Win10系统更新错误0x80240034怎么办
- 如何自定义Windows终端的默认配置文件?(Po
- php订单日志怎么记录评价_php记录订单评价日志
- Win10怎么创建桌面快捷方式 Win10为应用创
- php后缀怎么变mp4能播放_让php伪装mp4正

QQ客服