Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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 Web Start_Java_Java Web Start - Fatal编程技术网

从应用程序安装Java Web Start

从应用程序安装Java Web Start,java,java-web-start,Java,Java Web Start,我有一个简单的Java程序,它使用: Runtime.getRuntime().exec("/usr/bin/javaws", [path for JNLP file]) 使用JavaWebStart打开JNLP文件 但是,我需要处理未安装javaws的场景。因此,我需要检查它是否已安装,如果未安装,请安装。你知道怎么做吗?首先,你假设javaws的路径是/usr/bin/javaws,情况可能并非如此 如果是这么简单,那么您可以检查文件是否存在: File javawsFile = new

我有一个简单的Java程序,它使用:

Runtime.getRuntime().exec("/usr/bin/javaws", [path for JNLP file]) 
使用JavaWebStart打开JNLP文件


但是,我需要处理未安装javaws的场景。因此,我需要检查它是否已安装,如果未安装,请安装。你知道怎么做吗?

首先,你假设javaws的路径是
/usr/bin/javaws
,情况可能并非如此

如果是这么简单,那么您可以检查文件是否存在:

File javawsFile = new File("/usr/bin/javaws");
if (! javawsFile.exists()) {
    System.out.println("javaws not installed");
} 
话虽如此,java不必安装到任何特定位置。因此,您不能假设它在
/usr/bin/
中。许多人会下载java二进制压缩文件,并将其解压缩到他们选择的位置,然后设置环境变量
java\u HOME

现在,您可以继续解析
JAVA\u HOME
变量,但即使这样,它也只会告诉您是否安装了javaws

如果没有安装javaws,除了提示用户去java网站下载之外,实际上没有其他方法可以安装它

您给出的路径是*nix样式。在这种情况下,安装新的应用程序需要root访问权限,而这并不是您可以简单地制造的


即使您的用户已经以root用户身份运行您的应用程序,我仍然会对此保持警惕。在用户的机器上安装软件不是您的责任。

如果您在回答的前1/2部分中所说的是真的(我完全同意),那么d/l Java应该是微不足道的,并将其解压缩到一个临时文件夹中,然后将Java_设置为HOME并运行javaws。难道不是吗?您如何知道pr0crstnation101的职责是什么?我不知道,所以我建议这是可能的,剩下的就留给他自己了。@ajeh下载javaws应用程序并将其放在临时目录中是可能的。然而,这种行为听起来是典型的间谍软件或恶意代码-您试图在用户未同意的机器上安装软件。此外,下载正确版本的javaws也有点棘手。您必须确定机器的体系结构并下载正确的javaws版本。总而言之,这是(A)可疑行为,可能会冒犯反病毒软件;(B)要使其跨平台可靠是相当棘手的。再说一次,你不知道用户是否同意,你只是怀疑询问者做错了什么。他可能是在一个受控的环境中,在他的公司网络上这样做的。我们是谁来监管互联网?@ajeh,我想他是在指出这些物品可能不可能的原因,而不是OP不应该这么做的原因。是的,我知道文件路径不一定正确;这是我需要解决的另一个问题。说到这里,使用“$whichjavaws”可以为我找到正确的javaws目录吗(在我的计算机上,它给了我相同的目录)?至于在找不到javaws的情况下安装javaws,好的一点是:不要以草图的方式安装东西。我可能最终只是告诉用户他们需要安装它。谢谢。不是每个JRE安装都包含Web Start吗?如果您在JVM中运行,那么肯定已经安装了WebStart。