我有一个现有的java程序,我正在给一些。。。。我的客户技术上不太好。他们使用linux、windows的组合,很少有人有苹果机,这就是为什么我选择java来开发这个程序的原因。问题是,当他们试图启动程序时,因为没有安装jre,他们总是错误地给我打电话。有没有办法:
导入一个lib,它会给我一些命令来检查。
向程序中添加一些可以检查jre的内容。或者(我真的不想谈这个,因为我当初选择java的原因)
用c++编写一些东西来检查jre。
我的目标是:
检查机器上是否安装了jre
如果是:启动程序
如果否:弹出消息“no java environment found,downloading from java website”。然后我会直接把它们带到点击“run”的链接,然后安装。
//我会做一些像
if (JRE.exists()) // maybe use a pathname that would only show up if a JRE is installed
{
// launch program
}
else
{
// launch Java installer
}
system.exit(0);
我知道这在java中是非常困难的(因为没有jre就不能运行java程序),但是如果可能的话,我更喜欢保持这种通用性。
如果没有简单的解决方法,我只会制作一个read-me文件,其中包含指向java网站的链接,该网站可以检查您系统上的jre,但是用户需要做的最少的工作就越好。
5条答案
按热度按时间gorkyyrv1#
我建议您使用像izpack这样的java安装程序或其他类似的免费工具。使用其中之一,您可以创建一个安装程序,还可以生成一个本机启动程序。它可以配置为搜索java,如果没有找到,它可以帮助用户安装它。
有些开发人员也将jsmooth或launch4j用于本机启动器。
hrysbysz2#
如果您不能使用javawebstart,尽管我建议您使用它,但是您可以编写简单的脚本来检测java。
对于windows(.bat):
如果
JAVA_HOME
定义环境变量,然后javaw.exe
将从应用程序jar文件开始。这个javaw.exe
可执行文件使用窗口子系统,因此它在没有控制台窗口的情况下运行。如果
JAVA_HOME
如果未设置,它将在默认浏览器中打开java下载页。对于更多选项,可以使用jscript;有了它,您可以向用户显示一个警告,说明没有安装java,然后打开浏览器进行下载。
对于linux(.sh):
4bbkushb3#
如果jre安装在系统上,那么在windows和linux上都设置了javahome环境变量,它包含jre的路径。您可以检查是否设置了此变量并相应地继续。
q8l4jmvw4#
检查系统上的jre
使用
deployJava.js
正如javawebstart信息中提到的。第页。..旨在确保在提供到jws应用程序的链接之前安装适当的java最低版本。或启动小程序。
如果是富客户端桌面应用程序(e、 例如applet或frame),使用javawebstart部署它。
k4aesqcs5#
为什么不直接创建批处理和bash文件,让客户独立地在操作系统上运行其中一个呢