我可以获得当前运行的java可执行文件的路径吗?

Ale*_*ter 4 java command-line system-properties

假设我想从命令行运行一个java程序,我使用这个命令:

myExes\java\java.exe AJavaProgram
Run Code Online (Sandbox Code Playgroud)

如您所见,java.exe 不在我的路径中,因此我手动运行它,而不是简单地使用命令java AJavaProgram

我希望程序返回/打印命令中的第一个条目,在本例中,该条目是myExes\java. (在末尾包含 java.exe 也可以)。

有没有办法做到这一点?

最初,我认为这很简单。args[0] 将返回路径,但事实并非如此。

VGR*_*VGR 8

ProcessHandle.current()返回当前的 Java 进程。您可以使用它来查看进程句柄\xe2\x80\x99s 信息中的完整命令:

\n\n
ProcessHandle.current().info().command().ifPresent(\n    cmd -> System.out.println(cmd));\n
Run Code Online (Sandbox Code Playgroud)\n