【Java】关于对System.getProperty中user.dir的理解

Nestjs框架: 集成 Prisma NestJS官方文档提供了两种数据库相关的内容:Techniques下的数据库板块和Recipes下的具体数据库集成方案。本文以Prisma为例,演示了如何集成Prisma到NestJS项目中。首先创建NestJS项目并安装Prisma,配置MySQL数据库连接。通过Prisma CLI初始化项目、定义数据模型并生成迁移文件。接着创建Prisma模块和服务,配置Prisma客户端连接数据库。最后在控制器中注入PrismaService实现数据查询。整个过程包含了Docker启动MySQL、Prisma模型定 阅读详情
AI摘要

本文通过实例详细解析了System.getProperty(“user.dir”)方法的返回值,揭示其与执行Java命令路径的关系,强调统一执行路径的重要性。

字面解释

System.getProperty(“user.dir”)方法返回的是执行运行Java程序命令的路径。这句话有一点歧义,还是通过举例说明最合适。

举例

用两个用户,一个是root,一个是普通用户userone,可运行jar包在/home/userone/下面,有一个运行该jar包的sh脚本也在/home/userone/下面。可运行jar包内就是打印System.getProperty(“user.dir”)方法的结果。

root执行

  1. 当前所在路径在/home下,即pwd命令返回/home,直接java -jar 执行,查看输出结果
> pwd
> /home

> java -jar /home/userone/xx.jar

控制台输出:
/home
  1. 当前所在路径在/home/userone下,即pwd命令返回/home/userone,直接java -jar 执行,查看输出结果
> pwd
> /home/userone

> java -jar /home/userone/xx.jar

控制台输出:
/home/userone
  1. 当前所在路径在/home下,即pwd命令返回/home,执行start.sh脚本运行jar包,查看输出结果
> pwd
> /home

> ./userone/start.sh

控制台输出:
/home
  1. 当前所在路径在/home/userone下,即pwd命令返回/home/userone,执行start.sh脚本运行jar包,查看输出结果
> pwd
> /home/userone

> ./start.sh

控制台输出:
/home/userone

userone执行

  1. 当前所在路径在/home下,即pwd命令返回/home,直接java -jar 执行,查看输出结果
> pwd
> /home

> java -jar /home/userone/xx.jar

控制台输出:
/home
  1. 当前所在路径在/home/userone下,即pwd命令返回/home/userone,直接java -jar 执行,查看输出结果
> pwd
> /home/userone

> java -jar /home/userone/xx.jar

控制台输出:
/home/userone
  1. 当前所在路径在/home下,即pwd命令返回/home,执行start.sh脚本运行jar包,查看输出结果
> pwd
> /home

> ./userone/start.sh

控制台输出:
/home
  1. 当前所在路径在/home/userone下,即pwd命令返回/home/userone,执行start.sh脚本运行jar包,查看输出结果
> pwd
> /home/userone

> ./start.sh

控制台输出:
/home/userone

结论

从实际情况看,System.getProperty(“user.dir”)返回结果和用户没有关系,和jar包没有关系,和运行jar包的sh脚本也没有关系,只有和执行运行java命令的路径有关系(无论是直接运行,还是通过sh脚本运行)。所以这里需要注意的就是运行java程序的时候要统一在某个路径下执行。如果上次在/home下执行,这次在/root下执行,得到的结果也是不一样的。如果涉及到文件的上传和下载,那么这个路径也就出现了改变。

【ArcGIS微课1000例】0066:图像融合(全色+多光谱)操作案例教程 图像融合是指将不同类型传感器的影像进行融合,既能使图向具有较高的空间分辨率,又具有多光谱的特性。除了遥感软件如Erdas能进行图像融合,ArcGIS软件也可以进行图像融合等图像增强操作。 阅读详情

相关推荐

Vast.ai GPU服务器租用与SSH密钥连接实战指南

本文详细介绍了如何在Vast.ai平台租用GPU服务器并通过SSH密钥安全连接的全流程。从注册、选配GPU型号到SSH密钥生成与配置,再到实战中的端口转发和文件传输技巧,帮助用户高效利用云端GPU资源进行深度学习等计算密集型任务。

weixin_29574585的博客 526

Java获取项目路径:System.getProperty(“user.dir“)

System.getProperty(“user.dir”) 可以获取当前项目的根目录。 最初以为 user.dir 是需要自己配置的参数,实际上不是,直接执行这行代码就可以获取到当前项目的根路径。 System.getProperty(“key”)该方法到底有多少个key? System.getProperties()给出了答案,通过System.getProperties()方法可以获取到所有的key值,代码如下: public static void main(String[] args) {

qq_41451744的博客 1万+

数学建模入门——数据预处理(全)

介绍了数据预处理的入门知识

n04j04h06的博客 4346

System.getProperty("user.dir")的理解

System.getProperty("user.dir"),都说获得的是“工作目录”,有老铁们在意这个,工作目录怎么理解吗?我这做了个简单的测试。 但是,你把这个配置文件放在项目的根目录下面,也就是 说你的项目文件夹下面直接放一个配置文件,这个时候,就可以,啥前缀不加的,就可以读取到,这个配置文件啦。 但是,这么放置配置文件,好像有点不合适。 那么,这个路径究竟该如何写,才不会报错呢? ...

qq_29964641的博客 6万+

XIAO ESP32S3 Sense摄像头与麦克风实战:从硬件连接到AI语音视觉项目

本文详细介绍了如何使用Seeed Studio XIAO ESP32S3 Sense开发板进行AI语音视觉项目开发。从硬件连接到Arduino环境搭建,再到摄像头拍照、视频流传输、麦克风录音等实战操作,最后引导读者探索基于TensorFlow Lite Micro的语音唤醒和SenseCraft AI的图像识别等AI应用,为物联网和边缘AI项目提供了完整的入门指南。

xray4的博客 1022

LiveBOS UploadFile.do 任意文件上传漏洞复现(XVE-2023-21708)

LiveBOS UploadFile.do 接口存在任意文件上传漏洞,未经身份验证的攻击者可通过该漏洞在服务器端任意执行代码,写入后门,获取服务器权限,进而控制整个web服务器。

0xSec 2419

System.getProperty(user.dir)定位问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、System.getProperty方法二、踩坑的属性user.dir1.在IDEA中System.getProperty(user.dir)的值2.部署到tomcat中的System.getProperty(user.dir)总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 随着学习java we

weixin_45024993的博客 9211

Windows 下 Codex 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Codex 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Codex 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 方案一 2.2 方案二 3. 报错解决方案

weixin_43178406的博客 14万+

System.getProperty(“user.dir“) 使用说明

System.getProperty("user.dir") 使用说明

Shipley_Leo的博客 1969

AgentScope 实战训练营-构建元规划智能体(Meta Planner Agent)—— 从 0 到 1 完整实现

本文介绍了基于AgentScope框架开发的元规划智能体(Meta Planner Agent)系统。该系统通过任务拆解和子代理编排机制,实现复杂任务的自动化处理。核心架构分为用户层、规划器层和子代理层,其中规划器作为"项目经理"负责任务分解、创建子代理并协调执行流程。关键技术包括AgentScope多智能体框架、DashScope大语言模型、PlanNotebook计划管理工具等。

program哲学 358

手把手教你用LabelImg打造专属YOLO数据集:从标注到训练全攻略!

YOLO(You Only Look Once)是一种快速、高效的目标检测算法。它使用一种简洁的.txt文件格式来保存每张图片中的标注信息,适合构建自定义目标检测数据集。🔹 图像文件.jpg.png等;每张图片将对应一个同名的标签文件(.txtdog.jpg对应dog.txt;图像在训练前通常会被缩放成统一尺寸,例如 YOLOv3 默认输入为416x416。🔹 标签文件(.txt)是一个纯文本文件;每一行表示一个标注目标;字段说明类别编号,从0开始,例如:狗是0,猫是1x_center。

FJN110的博客 2464

Java配置文件找不到指定_Java項目讀取配置文件時,FileNotFoundException 系統找不到指定的文件,System.getProperty("user.dir")的理解...

唉,讀取個文件,也就是在項目里面去獲得配置文件的目錄,然后,變成文件,有事沒事,總是出個FileNotFoundException系統找不到指定的文件,氣死人啦。還有就是:System.getProperty("user.dir"),都說獲得的是“工作目錄”,有老鐵們在意這個,工作目錄怎么理解嗎?我這做了個簡單的測試。但是,你把這個配置文件放在項目的根目錄下面,也就是 說你的項目文件夾下面直接放...

weixin_29550949的博客 356

流体动力学仿真软件:Star-CCM+_(19).软件定制与脚本编写

自定义插件开发可以扩展Star-CCM+的功能,实现特定的仿真需求。插件开发通常需要使用Java语言,并且需要对Star-CCM+的API有深入的了解。以下是一个简单的Java插件示例,展示如何创建一个自定义插件来显示仿真项目的信息。// 导入必要的Star-CCM+ API import star . ccm . product . CCMProject;// 自定义插件类 public class CustomPlugin {// 插件主方法 public void run() {

kkchenjj的博客 936

Java配置文件找不到指定_转载:Java项目读取配置文件时,FileNotFoundException 系统找不到指定的文件,System.getProperty("user.dir")的理解...

还有就是:System.getProperty("user.dir"),都说获得的是“工作目录”,有老铁们在意这个,工作目录怎么理解吗?我这做了个简单的测试。但是,你把这个配置文件放在项目的根目录下面,也就是 说你的项目文件夹下面直接放一个配置文件,这个时候,就可以,啥前缀不加的,就可以读取到,这个配置文件啦。但是,这么放置配置文件,好像有点不合适。那么,这个路径究竟该如何写,才不会报错呢?1,在...

weixin_39845406的博客 257

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java获取当前项目路径System.getProperty("user.dir")

System.getProperty("user.dir") 就是项目的文件夹绝对路径 转载于:https://www.cnblogs.com/xiaostudy/p/11390502.html

weixin_30827565的博客 292

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java中获取tomcat路径

java程序获取当前的tomcat绝对路径可以用System.getProperty("catalina.home")或System.getProperty("user.dir"),但是"user.dir"这个方式在tomcat绿色版创建的服务启动时会出错,输出的路径是系统盘的system32路径。

hongkongbeyond的专栏 2900

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java 获取当前工程路径方法_Java获取工程路径方法详解

第一种:File f = new File(this.getClass().getResource("/").getPath());System.out.println(f);结果:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin获取当前类的所在工程路径;如果不加“/”:File f = new File(t...

weixin_33291720的博客 1149

Java如何确定文件的相对路径

Java读取文件时如何确定相对路径 System.getProperty(“user.dir”)可以获得用户工作目录,然后你的所有IO文件的相对路径都是从这里定位的。 比如: new FileInputStream(“employee.dat”);就是从你的刚才上面得到的文件目录定位开始的,而不是从当前类所在的目录定位开始的。 ...

qq_39906971的博客 1008

java exe 路径_JAVA怎样得到当前程序的路径

展开全部1、利用System.getProperty()函数获取当前路径:e69da5e6ba903231313335323631343130323136353331333363366238System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径2、使用File提供的函数获取当前路径:File directory =...

weixin_28993425的博客 619

获取当前class的绝对路径

System.getProperty("user.dir") 转载于:https://www.cnblogs.com/sikuaiwu/p/11533270.html

apxl13666的博客 405

文件上传获取当前项目所在位置

只需要下面这一句即可: String curpath = System.getProperty(“user.dir”);

JavaSupeMan的博客 293

Java获取路径方法小结

1.request.getContextPath() 获取项目发布名称 比如校园管理系统,项目发布名称:school 获取的路径:/school 2.System.getProperty(“user.dir”) 获取项目发布到tomcat的bin目录 比如校园管理系统,发布项目的tomcat目录:E:\Program_Files\apache\apache-tomcat-6.0.45 获取的路径:E:\Program_Files\apache\apache-tomcat-6.0.45\bin 3.getSe

星月的博客 145

java获取当前路径(包含tomcat)

1、利用System.getProperty()的函数 获取当前路径: System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径 2、使用File提供的函数获取当前路径: File directory ...

chengxu6708的博客 342

java获取项目路径

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34097242的博客 72

android 读取指定路径文件_Java项目读取配置文件时,找不到指定的文件???

唉,读取个文件,也就是在项目里面去获得配置文件的目录,然后,变成文件,有事没事,总是出个 FileNotFoundException 系统找不到指定的文件,气死人啦。还有就是:System.getProperty("user.dir"),都说获得的是“工作目录”,有老铁们在意这个,工作目录怎么理解吗?我这做了个简单的测试。但是,你把这个配置文件放在项目的根目录下面,也就是 说你的项目文件夹下面直接...

weixin_39677538的博客 390

java获取当前项目路径

可以通过调用System.getProperty(“user.dir”) 来获得。 如果需要获取当前包路劲可以通过(类.class.getPackage().getName()).replaceAll("//.","/")获得。

小四是个程序猿的博客 283
上一篇: 【Linux】添加用户useradd出现异常useradd group userone exists
下一篇: 【JS】JS中的小tip之==和===的区别
ColdFireMan
博客等级 码龄10年 27粉丝 112原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值