如何在Windows启动时启动独立于Java应用程序的系统

时间:2016-10-23 12:50:44

标签: java windows registry

我想在启动时在Windows下自动运行Java应用程序,但不依赖于特定的Windows或特殊的JRE版本。

通常,在Windows登录时运行程序的一种好方法是在

下添加一个注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

但是,当Windows尝试运行注册表的RUN部分中列出的程序时,似乎没有评估系统PATH。

所以这两个条目都有效:

"C:\Program Files\Java\jdk1.8.0_111\bin\javaw" -jar c:\path\to\java.jar
"C:\ProgramData\Oracle\java\javapath\javaw" -jar c:\path\to\java.jar

但是这个没有出现:

javaw -jar c:\path\to\java.jar

现在,后者在手动输入控制台窗口时起作用,因为存在所需的PATH并进行评估:

PATH=....;C:\ProgramData\Oracle\Java\javapath;....

现在,我希望从自动安装程序中添加注册表项,并且我希望它已经形成了" windows-system-independent" (从Vista到Win 10,并且不依赖于已安装的JRE的版本)。所以我不知道JRE的一般路径,因此我无法向注册表添加特定的RUN命令。

有没有人知道如何将JRE调用系统独立地正确添加到注册表的RUN部分?

我已经尝试过使用命令文件,例如" STARTUP.CMD"在那里有内容java -jar file.jar,已经将这个文件的调用添加到注册表,并且是的,有效,java被发现,应用程序已经启动,但是当使用这个方法时,我有一个烦人的黑色命令终端窗口保持打开所有java应用程序运行的时间。

感谢名单, 通博

1 个答案:

答案 0 :(得分:1)

更改您的startup.cmd
java -jar file.jar

start java -jar file.jar

这将在新进程中启动java.exe,让批处理执行程序终止。