【问题标题】:Is there a way to query the runtime for argv in java?有没有办法在 java 中查询 argv 的运行时?
【发布时间】:2012-08-16 10:37:06
【问题描述】:

有没有办法在 java 中查询 argv 的运行时?就像 python 中的 sys.argv。

是的,我意识到在 java 中你通常只从 main 传递参数。我意识到这在实践中可能不是一个好主意。我正在从 python 移植一个默认参数为 sys.argv 的库。我可能会决定最终包含或排除它。

【问题讨论】:

  • 在 Java 之外,因此不可移植,某些特定系统可能会提供访问权限,例如在 linux 上,您可以像读取文本文件一样读取 /proc/self/cmdline,这可能取决于jvm和调用方式,有你要的信息。
  • 是的,在windows上你可以查询命令行的wmi Win32_Process接口

标签: java argv


【解决方案1】:

我认为不可能通过任何其他方式获取main(String[]) 参数。

(我认为使用RuntimeMXBean API 可能是可能的。该API 上有一个名为getInputArguments() 的方法,但javadoc 明确表示不包括传递给main(...) 的参数。)

【讨论】:

    【解决方案2】:

    是的,我认为有一种有些笨拙的方法可以做到这一点。我已经放了一些代码here

    【讨论】:

    • 您应该已经在答案中发布了代码,但无论如何它似乎并没有解决问题所带来的问题 - 您的示例无法访问参数,并且似乎只能通过成为 main 来工作本身,这就是问题所寻求的替代方法
    猜你喜欢
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 2019-02-11
    • 2017-03-31
    • 2021-04-10
    • 2013-01-03
    • 2021-03-02
    相关资源
    最近更新 更多