【问题标题】:Getting command-line arguments indirectly间接获取命令行参数
【发布时间】:2013-11-23 01:05:01
【问题描述】:

我正在尝试将命令行参数间接传递给文件。这是通过类加载器加载的类将使用的东西,因此它们无法访问程序的 main 方法。

我知道我可以通过以下方式获取 JVM 参数:

RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = RuntimemxBean.getInputArguments();

但是阅读javadocRuntimeMXBean 我似乎无法弄清楚如何获得其余的论点。

我还尝试通过以下方式获得有趣的命令行执行:

String arguments = System.getProperty("sun.java.command")

但是,这也不适用于 java 的每个实现。这甚至可能吗?如果可以,怎么办?

编辑:为了澄清,我没有能力修改加载类文件的原始项目。

【问题讨论】:

标签: java


【解决方案1】:

我对这种类型的问题不是很有经验,但是你不能为你正在加载的类创建一个实例字段和一个存储主程序参数的字段,然后只为实例字段分配论据?

【讨论】:

  • 或者只是在调用构造函数时将参数的副本传递给类,或者只是将副本传递给方法函数。
  • 我应该进一步澄清,但整个想法是加载的类没有提供参数(而且我不是加载它们的项目的创建者)。我会考虑为此创建一个更改某种访问器的拉取请求,但总的来说我很好奇如何间接获得它。
  • @Rouge 在那种情况下,我不知道该怎么做。对不起!
猜你喜欢
  • 1970-01-01
  • 2014-01-03
  • 2018-06-14
  • 2014-02-15
  • 2017-03-16
  • 2014-06-12
  • 2016-05-02
  • 1970-01-01
  • 2015-08-28
相关资源
最近更新 更多