Java VM 如何决定 user.dir 系统属性的值?

2023-12-04

我正在运行一个简单的 Java 程序,其目录结构如下:

MyProject (A project in my Eclipse IDE)
 '-- src
      '-- Hello.java

在 Hello.java 中,我正在打印“user.dir”系统属性的值。

System.out.println(System.getProperty("user.dir"));

我的班级的编译文件存储在MyProject\bin folder.

当我从 Eclipse 运行此类(右键单击源文件并单击“运行方式”->“Java 应用程序”)时,它会打印“MyProject”文件夹的路径,即D:\Projects\Workspace\MyProject在控制台窗口中。

然后我使用命令窗口运行相同的程序。这是我在窗口中输入的内容:

D:\Projects\Workspace\MyProject\bin>java Hello

控制台上的输出是:D:\Projects\Workspace\MyProject\bin

bin已添加到 user.dir 的先前值中。

此外,为了检查更多信息,我这次从命令窗口上的不同文件夹执行了 Java 命令:

D:\Projects\Workspace\MyProject>java -classpath D:\Projects\Workspace\MyProject\bin Hello

这次命令窗口的输出是:D:\Projects\Workspace\MyProject

当我更改命令窗口上的文件夹时,以及当我从 Eclipse 运行程序时,该值会发生变化,user.dir 的值是项目文件夹。所以我想了解,得出'user.dir'值的依据是什么? JVM 如何决定 user.dir 的值应该是多少?


定义为java.lang.System规范user.dir属性返回当前工作目录(即 JVM 启动时的当前目录):

user.dir用户当前工作情况 目录

我认为你的例子没有任何矛盾。这里唯一不清楚的是财产的名称。我不明白他们为什么选择将“用户”放在那里。

类似地,如果您从完全不同的路径执行相同的 Java 程序,您将得到另一条路径作为结果。自己尝试一下:

 c:
 cd c:\
 java -cp D:\Projects\Workspace\MyProject\bin Hello

Eclipse 在运行程序之前所做的事情类似于:

 d:
 cd d:\projects\workspace\myproject
 java -cp d:\projects\workspace\myproject\bin Hello
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java VM 如何决定 user.dir 系统属性的值? 的相关文章

随机推荐

  • 在matlab中重命名图像文件名

    我从互联网站点加载 10 000 个图像文件 并将其保存在文件夹中以在我的项目 图像检索系统 中使用它 现在我需要按顺序名称重命名图像文件 例如 image1 image2 image3 image10000 任何人都可以帮助我 我想告诉你
  • 循环遍历列,将每列复制六次

    我有这个数据框 其中列名称从 v1 到 v292 有 17 个观察结果 我需要迭代这些列并将获取的每列复制 6 次 例如 v1 v2 v3 v4 1 3 4 6 3 4 3 1 输出应该是什么 x 1 3 1 3 1 3 1 3 1 3 1
  • 如何在 Kivy 中处理同时按下的多个键?

    我本来打算用 kivy 做一个小跨平台游戏 当我测试从电脑上的键盘获取输入的方式时 我有点惊讶 Kivy似乎无法处理同时按下的多个按键及其on keyboard down事件 当您在kivy中同时按下多个按键时 官方文档中使用的键盘类会传递
  • javascript eval 在上下文中不使用 this 关键字

    我正在尝试在特定上下文中执行 eval 我已经找到答案了here有用 但是 我在 Chrome 版本 53 0 2785 143 m 中遇到以下行为 其他浏览器没试过 我正在使用的代码如下 function evalInContext js
  • IE9 MVC、IMG 标签、Url.Action 和 TempData 的意外行为

    当我第一次遇到这个问题时 我把这个作为题外话提出来上一个问题 我无法在我的应用程序中确定它 因为有太多的 javascript css 和图像 这可能会加剧问题 现在我已经做了一个非常简单的 MVC 应用程序 没有 javascript 没
  • 有没有办法捕获管道命令中的失败? [复制]

    这个问题在这里已经有答案了 这是我想要实现的目标的示例 bin bash set e abort if error command1 2 gt 1 command2 我注意到有时command1失败 但 command2 没有失败 shel
  • 如何在Windows批处理文件中嵌入文本文件[重复]

    这个问题在这里已经有答案了 我需要创建一个写入文本文件 可能包括变量 的批处理文件 在带有 bash 的 Unix 中 这是微不足道的 bin bash ver 1 2 3 cat gt file txt lt
  • VueJS 两路过滤器

    是否可以在 VueJS 中使用双向过滤器 我尝试过 但在新文档中找不到它 I tried
  • 将以 @ 开头的文本替换为锚标记

    我有一个 html 页面 现在我显示一个包含以 开头的文本的字符串 我需要做的是使用 javascript 替换以 开头的字符串中的所有文本与锚标记 E g 我的字符串 与 sarah333 和 kevin0955 在海滩度过了愉快的时光
  • 如何反转灰度图像并将其转换为二值图像?

    I want to create an image like this From an image like this alt text http internationalpropertiesregistry com Server sho
  • MySQL 中加载数据文件的访问被拒绝

    我在 PHP 中一直使用 MySQL 查询 但是当我尝试时 LOAD DATA INFILE 我收到以下错误 1045 用户 user localhost 的访问被拒绝 使用密码 YES 有谁知道这意味着什么 我也刚刚遇到这个问题 我必须添
  • OpenCv 3d 拼接全景图

    我有 7 张来自 gopro 的图像 装备中有 5 个摄像头 一个用于顶部 一个用于底部 它们都是 gopro 相机 我想将所有这些图像拼接在一起以创建 3D 全景图 我已经能够使用 opencv stitching detailed cp
  • JavaScript 删除合并的表格单元格

    过去几周我一直在开发一个日程安排网站 我将时间表显示为 PHP 生成的 html 表格 我使用合并单元格来显示事件 我在尝试使用 JS 删除事件时遇到了问题 由于这些是合并单元格 使用行跨度 当我删除一个单元格时 我必须遍历表格并在需要时重
  • 第谷无法从不同的 Reactor 构建中解析从产品到 Eclipse 功能的引用

    我有两个反应堆构建 第一个构建了一些捆绑包和相应的功能 成功后clean install该功能位于我本地的 Maven 存储库中 第谷还生成了 p2 元信息 p2artifacts xml and p2metadata xml 第二个版本包
  • 如何在 Powershell 消息框中获取计时器?

    我试图在我用 PS Forms 创建的消息框中显示一个计时器 我想要这样的东西 1 秒后显示 您的电脑将在 10 秒后关闭 您的电脑将在 9 秒后关闭 您的电脑将在 8 秒后关闭 等等 希望你能帮我 我没有看到刷新消息框中文本的方法 如果我
  • Linux编译 |入口点无效

    我正在编译一个linux内核使用 mipsel 工具链 一切工作正常 除了最后一点指出无效的入口点 sh 0 Can t open arch mips boot tools entry rm f arch mips boot vmlinux
  • 从 asp.net 中的 gridview 获取选中的行

    我有一个GridView在 ASP net 中我有一个CheckBox柱子 用户可以切换CheckBox 现在 我想要的是 当用户单击按钮时 来自GridView哪里的CheckBox被选中应该显示 在另一个按钮上 应该显示相反的状态 我不
  • ios iPhone模拟器是否导致内存使用分析膨胀?

    我正在尝试在我的应用程序中处理一个大文本文件 我知道我要小心读取数据时消耗的内存量 一旦读取了一条数据 应用程序就不需要保留该数据 感谢 Martin R 和这篇文章逐行读取文件 URL帮助我开始努力 我正在尝试监视我的应用程序在读取大数据
  • 图像显示时改变形状

    我正在尝试显示此图像 因为我的目录中有此图像 但我用这段代码显示它 Mat img imread D vig png imshow image img waitKey imwrite D img jpg img 同一张图片显示如下 它出什么
  • Java VM 如何决定 user.dir 系统属性的值?

    我正在运行一个简单的 Java 程序 其目录结构如下 MyProject A project in my Eclipse IDE src Hello java 在 Hello java 中 我正在打印 user dir 系统属性的值 Sys