【问题标题】:Java - get command line arguments, OUTSIDE of main? [duplicate]Java - 获取命令行参数,在主要之外? [复制]
【发布时间】:2017-05-31 10:21:54
【问题描述】:

在 java 中有没有办法获取传递给main 函数之外的程序 的命令行参数?

我正在编写一些代码,这些代码是我无法控制的大型应用程序的一部分,并且我想知道命令行参数是什么,而无需修改 main 函数。

注意:我见过how to get the JVM argumentshow to get the arguments in main,但想在我们应用程序的其他部分中获取它,而不是将它们保存在我无法控制的main 函数中。

【问题讨论】:

  • 好吧,如果您知道这些参数的名称(并且想首先使用名称),您可以将它们作为系统属性传递。因此,您可以通过System.getProperty(name) 访问它们。
  • 你可以试试属性“sun.java.command”。它使您可以访问用于执行 jar 的完整命令(我会检查文档,这是否可以在 JVM 实现之间移植)。
  • @BradParks 更新:正如前缀“sun”所暗示的,此属性很可能是 oracle-jre 特定的系统属性。我还没有找到任何资源来验证这一点,所以请小心处理。
  • 这也适用于带有 oracle jre 的 Windows 7。

标签: java command-line-arguments


【解决方案1】:

当以这种方式启动 jvm 时:java -DmyArgument=myValue -jar your.jar 您可以使用 String myArg = System.getProperty("myArgument"); 在 java 代码中的任何地方获取 myArgument 的值

【讨论】:

  • 谢谢...这很有帮助,但我正在寻找的参数没有作为-D 样式参数传递...
猜你喜欢
  • 2021-08-05
  • 2016-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
  • 2014-06-06
  • 2017-02-24
相关资源
最近更新 更多