获取相对命令行参数...在 Java

Taking relative command line arguments... In Java

不,我指的不是相对于项目或工作目录。我的意思是下面的命令 java -jar myJar.jar ~/ 应该提供一个带有 "/home/user" 的字符串...这似乎没有按预期工作。我正在通过 eclipse 的 "Run Configurations" 菜单传递参数,但不确定这是否会导致问题。同样的结果来自 Runnable Jar ... 它抛出格式错误的 URL 异常...但 URI 也不喜欢它

有人知道实现此功能的方法吗?这样一个参数 ~/ 被传递到 (String[] args) 作为 "/home/user"

与其说是 Java 问题,不如说是 shell 问题。

~/替换为/home/user/的"tilde expansion"由shell执行(在类Unix操作系统上)。看起来 Eclipse 在使用 "Run Configurations" 菜单时不会进行扩展,因此您要么必须直接指定 /home/user/,要么编写一些 Java 代码来检测前导 ~ 在路径名参数中并自己执行扩展。