从应用程序安装Java Web Start

时间:2013-11-29 22:13:49

标签: java java-web-start

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

Runtime.getRuntime().exec("/usr/bin/javaws", [path for JNLP file]) 

使用java web start打开JNLP文件。

但是,我需要处理未安装javaws的场景。所以我需要检查它是否已安装,如果不是,请安装它。知道怎么做其中任何一个(或两个)吗?

1 个答案:

答案 0 :(得分:0)

首先,你假设javaws的路径是/usr/bin/javaws,可能不是这样。

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

File javawsFile = new File("/usr/bin/javaws");
if (! javawsFile.exists()) {
    System.out.println("javaws not installed");
} 

话虽如此,java不必安装到任何特定位置。因此,你无法假设它在/usr/bin/中。许多人会下载java二进制zip并简单地将其解压缩到他们选择的位置,并设置环境变量JAVA_HOME

现在,您可以沿着解决JAVA_HOME变量的道路走下去 - 但即使这样,它也只会告诉您是否安装了javaws。

如果没有安装javaws,除了提示用户访问java网站并下载它之外,没有其他方法可以安装它。

您提供的路径是* nix风格。在这种情况下,它将需要root访问权来安装新的应用程序 - 这不是你可以简单制造的东西。

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