我有一个包含Java应用程序的JAR文件。 我怎样才能使它开始与Windows,而不需要用户的交互?
是否有可能closuresLinux内核,并在实模式下恢复?
udev:设备在启动时连接
准备加载内核
debuggingsyslinux看到的启动文件系统环境?
javaw -Xmx200m -jar C:PathtojarfileTheJar.jar
还有一件事:使用java和javaw是有区别的。 虽然在调试应用程序时java更好,但应用程序打印文本或类似的东西, javaw在你不需要的时候会更好。 为什么? 因为java使用显示所有应用程序打印的控制台(println,异常堆栈跟踪等)来运行java程序,而javaw不能在控制台上运行。
这个问题的答案可能适合你的需要。 设置您的Java应用程序作为Windows服务运行,你应该很好去。
这很简单,因为你必须把快捷方式
Windows 7 C:usersAll UseRSStart MenuProgramsstartup (管理员)或User home directory(%userProfile%)
Windows 10:在运行shell:startup
在它的属性 – >快捷方式 – >目标 – > java.exe -jar D:..runJar.jar
注意:这将只在您登录后运行
与管理权限
sc create serviceName binpath= "java.exe -jar D:..runJar.jar"将创建windows服务
如果你超时使用cmd /c D:JAVA7~1jdk1.7.0_51binjava.exe -jar d:jenkinsjenkins.war但是即使如此,你也会得到超时但是在后台java.exe将开始。 检查任务管理器
在一些有限的环境中,就像我在企业环境中一样
错误:
The service did not respond to the start or control request in a timely fashion
在这种情况下
cmd /c D:JAVA7~1jdk1.7.0_51binjava.exe -jar d:jenkinsjenkins.war
注:这将运行在Windows登录启动(在登录之前,基于服务' Startup Type ')
创建Windows服务的详细说明
注册表编辑器
注意:仅编辑高级用户
只为当前用户运行
HKEY_CURRENT_USER/SOFTWARE/MICROSOFT/WINDOWS/CURRENT_VERSION/RUN
为所有用户运行
hkey_local_machine/SOFTWARE/MICROSOFT/WINDOWS/CURRENT_VERSION/RUN
如果你想从Java编程,你可以直接写入Windows注册表启动文件夹。
当你已经实现了使用注册表的功能,而不是你所需要的只是运行这个代码
String value = ""javaw -jar " + System.getProperty("user.dir") + "\myJar.jar""; WinRegistry.writeStringValue(WinRegistry.HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Run","myJar autorun key",value);
其中键的值需要命令什么运行您的应用程序,如java -jar myJar.jar
从简单的autorun中删除它
WinRegistry.deleteValue(WinRegistry.HKEY_CURRENT_USER,"myJar autorun key");
哈哈…容易! 从运行(你可以按开始+ R)写注册表编辑器然后:HKEY本地机器 – >软件 – >微软 – > Windows – >当前版本 – >运行点击它,并在其他面板上写没有点击并选择添加 – >字符串值名称它的Java双击它,并把它的值如下:'javaw -Xmx200m -jar C:路径 jarfile TheJar.jar'希望我能帮助你^ _ ^
为了从任何可执行文件中创建服务,请使用Windows Resource Kits 2003中的 srvany.exe (请注意=后面的空格)::
cmd> sc create NAME binPath= "c:Program FilesWindows Resource KitsToolssrvany.exe" ^ type= own start= auto error= normal displayName= "NAME for services.msc"
然后通过srvany.exe包装将做什么:
cmd> reg add "HKEY_LOCAL_MACHInesYstemCurrentControlSetservicesNAMEParameters" ^ /v "Application" ^ /d ""c:Program FilesJavajre7binjava.exe" -cp c:homedevelservice Main"
上面你看到空格的引用语法。 接下来开始服务:
cmd> sc start NAME
cmd> reg query "HKEY_LOCAL_MACHInesYstemCurrentControlSetservicesNAME" /s
并删除服务:
cmd> sc delete NAME
并再次采取措施。
访问GUI services.msc并检查与procexp.exe服务实际上启动。
另请参阅: 使用sc.exe创建服务 如何传递上下文参数
注意所有涉及的仪器是官方微软 !
如果您没有准备好自己完成配置,或者您希望在多计算机上使用相同的功能,则可以使用高级安装程序 。 您可以打包安装在Windows上的jar文件,并设置启动时运行程序的params
使用“winsw” – http://kenai.com/projects/winsw – 这是为Glassfish v3编写的,但通常与Java程序一起使用。
需要安装.NET运行时。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。