aks*_*mit 14 java command-line environment-variables
从Java,是否可以获得包含启动应用程序的所有参数的完整命令行?
System.getEnv()并且System.getProperties()似乎不包含值.
Ste*_*nne 13
其中一些可以通过调用获得的RuntimeMXBean获得 ManagementFactory.getRuntimeMXBean()
然后你可以,例如打电话 getInputArguments()
javadocs说:
返回传递给Java虚拟机的输入参数,该参数不包含main方法的参数.如果Java虚拟机没有输入参数,则此方法返回空列表.
一些Java虚拟机实现可以从多个不同的源获取输入参数:例如,从启动Java虚拟机的应用程序传递的参数,例如'java'命令,环境变量,配置文件等.
通常,并非'java'命令的所有命令行选项都传递给Java虚拟机.因此,返回的输入参数可能不包括所有命令行选项.
从Java 9开始,您可以使用ProcessHandle来获取进程的命令行:
ProcessHandle.current().info().commandLine()
Run Code Online (Sandbox Code Playgroud)
在 Linux 中,当您获得该命令的输出(在 shell 中运行)时,这应该是可能的
cat /proc/$PPID/cmdline
Run Code Online (Sandbox Code Playgroud)
但这根本不可移植,因此不应该在 Java 中使用......
| 归档时间: |
|
| 查看次数: |
17822 次 |
| 最近记录: |