在 Windows 启动时运行 Java 应用程序

2022-09-01 01:21:45

我有一个包含Java应用程序的JAR文件。如何让它从 Windows 开始,而无需用户交互?


答案 1

创建一个.bat文件并将其放入其中:

javaw -Xmx200m -jar C:\Path\to\jarfile\TheJar.jar

然后将.bat文件放入Windows启动文件夹中。

还有一件事:使用java和javaw是有区别。虽然Java在调试应用程序时更好,但应用程序打印文本或类似的东西,而javaw在您不需要它时更好。为什么?因为java使用控制台运行java程序,该控制台显示所有应用程序打印(println,异常堆栈跟踪等),而javaw不在控制台上运行。


答案 2

这很简单,因为你必须把快捷方式

视窗 7 (管理员) 或C:\users\All Users\Start Menu\Programs\StartupUser home directory(%userProfile%)

视窗 10 :运行中shell:startup

在它的属性中 -> 快捷方式 -> 目标 - >java.exe -jar D:\..\runJar.jar

注意:这只会在您登录后运行


具有管理员权限

sc create serviceName binpath= "java.exe -jar D:\..\runJar.jar"将创建窗口服务

如果你得到超时使用,但即使有了这个,你也会得到超时,但在后台java中.exe将启动。签入任务管理器cmd /c D:\JAVA7~1\jdk1.7.0_51\bin\java.exe -jar d:\jenkins\jenkins.war


在一些受限制的环境中,就像我在企业环境中一样

错误:

The service did not respond to the start or control request in a timely fashion

在这种情况下

cmd /c D:\JAVA7~1\jdk1.7.0_51\bin\java.exe -jar d:\jenkins\jenkins.war

如果您手动运行,这将给您一个错误,但将在后台运行。

注意:这将在Windows登录启动时运行(登录之前,基于服务“启动类型”)

创建窗口服务的详细说明


注册编辑

注意:仅编辑高级用户

仅为当前用户运行

HKEY_CURRENT_USER/SOFTWARE/MICROSOFT/WINDOWS/CURRENT_VERSION/RUN

为所有用户运行

hkey_local_machine/SOFTWARE/MICROSOFT/WINDOWS/CURRENT_VERSION/RUN

使用上述命令创建具有名称和路径的字符串


推荐