Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java中查找jvm_Java_Jvm_Cross Platform - Fatal编程技术网

从Java中查找jvm

从Java中查找jvm,java,jvm,cross-platform,Java,Jvm,Cross Platform,如何从java应用程序中找到JVM(java命令,例如/usr/bin/java for mac和C:\Program Files\java\bin\java.exe for Windows) 原因: 我正在运行一个JNLP应用程序,它应该下载并启动其他jar。我不能只加载另一个jar,因为它有不能作为JNLP启动的本机库。您可以通过使用java.home系统属性来解决这个问题,该属性返回当前运行的jvm的路径 System.getProperty("java.home"); 要真正独立于平台

如何从java应用程序中找到JVM(java命令,例如/usr/bin/java for mac和C:\Program Files\java\bin\java.exe for Windows)

原因:
我正在运行一个JNLP应用程序,它应该下载并启动其他jar。我不能只加载另一个jar,因为它有不能作为JNLP启动的本机库。

您可以通过使用
java.home
系统属性来解决这个问题,该属性返回当前运行的jvm的路径

System.getProperty("java.home");

要真正独立于平台,您需要将其与一些平台检测结合起来,以决定是否附加“bin/java”或“bin\java.exe”,但使用其他一些方法应该相当简单。

在类似unix的平台上,您可以尝试: 哪个java


哪个命令用于标识可执行文件的位置

您可以使用java桌面API“打开”jar文件。但是java.home甚至是为非开发人员机器定义的?您把java_home(JDK环境变量)与“java.home”混淆了如果安装了JRE,则会设置该属性。java.home系统属性是(根据java标准)始终可用的几个属性之一。无论VM版本、供应商或操作系统如何,也不管是JDK还是JRE等,它都是可用的。请查看文章中的链接以了解更多详细信息。