检查系统上的jre

6bc51xsx  于 2021-07-09  发布在  Java
关注(0)|答案(5)|浏览(371)

我有一个现有的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,但是用户需要做的最少的工作就越好。

gorkyyrv

gorkyyrv1#

我建议您使用像izpack这样的java安装程序或其他类似的免费工具。使用其中之一,您可以创建一个安装程序,还可以生成一个本机启动程序。它可以配置为搜索java,如果没有找到,它可以帮助用户安装它。
有些开发人员也将jsmooth或launch4j用于本机启动器。

hrysbysz

hrysbysz2#

如果您不能使用javawebstart,尽管我建议您使用它,但是您可以编写简单的脚本来检测java。
对于windows(.bat):

if not "%JAVA_HOME%" == "" (
    "%JAVA_HOME%\bin\javaw.exe" -jar YourApp.jar
) else (
    start http://java.com/download/
)

如果 JAVA_HOME 定义环境变量,然后 javaw.exe 将从应用程序jar文件开始。这个 javaw.exe 可执行文件使用窗口子系统,因此它在没有控制台窗口的情况下运行。
如果 JAVA_HOME 如果未设置,它将在默认浏览器中打开java下载页。
对于更多选项,可以使用jscript;有了它,您可以向用户显示一个警告,说明没有安装java,然后打开浏览器进行下载。
对于linux(.sh):

if [ "$JAVA_HOME" != "" ]; then
    $JAVA_HOME/bin/java -jar YourApp.jar &
else
    echo JAVA_HOME is not set: Java Runtime Environment (JRE)
    echo is not installed your system.
    echo Either install it from http://java.com/download/
    echo or set JAVA_HOME environment variable.
fi
4bbkushb

4bbkushb3#

如果jre安装在系统上,那么在windows和linux上都设置了javahome环境变量,它包含jre的路径。您可以检查是否设置了此变量并相应地继续。

q8l4jmvw

q8l4jmvw4#

检查系统上的jre
使用 deployJava.js 正如javawebstart信息中提到的。第页。
..旨在确保在提供到jws应用程序的链接之前安装适当的java最低版本。或启动小程序。
如果是富客户端桌面应用程序(e、 例如applet或frame),使用javawebstart部署它。

k4aesqcs

k4aesqcs5#

为什么不直接创建批处理和bash文件,让客户独立地在操作系统上运行其中一个呢

相关问题