您是否有使用命令行运行jar文件的经验,包含在Windows服务中?
我正试图找到一种方法来运行jar文件而不登录到机器,因为它允许命令shell,我想知道这是不是一个好主意。
谢谢!
原帖:
我正在尝试运行Associated Press的Web Feeds Manager,它基本上是一个jar文件,可以通过双击登录时运行。
我想运行相同的文件,但没有登录到计算机。在他们的手册(http://wfm.ap.org/admin/content/help/Running_Agent_on_a_Remote_Server.htm)中,他们使用命令行参数编写了如何做到这一点。
基本上我喜欢jar作为Windows服务运行,无论谁登录,但谷歌搜索显示它有问题。
您是否有远程运行jar文件的经验?有什么陷阱?
谢谢!
答案 0 :(得分:2)
在谷歌搜索中,我看到了这篇文章 -
Running Jar Applications as a Windows Service
它提到了来自Tanukisoftware.org的开源Java Service Wrapper
项目,以完成此任务。
注意:我个人没有使用过。
答案 1 :(得分:0)
如果您对在启动/关闭时启动/停止服务不感兴趣,但您只是希望手动启动程序并在注销后继续运行,那么您就是这样做的:
$ nohup java -jar foobar.jar > foobar.log 2>&1 &
这意味着:启动我的foobar.jar(java -jar)并在我注销(nohup)后将stdout重定向到foobar.log(>)以及stderr(2>& 1)并保持运行它在后台运行(& at end)。
相反,如果您有兴趣在Linux机器中安装“服务”,则有很多选项,具体取决于您使用的分发版。 最常见的是upstart(对于ubuntu)和System V init脚本(Redhat或其他)。 cron也可用于在启动/关闭时启动/停止服务。 您可以在init系统here上找到安装Java应用程序(hudson)的示例,或者使用upstart执行相同的操作。或者,正如我所说,cron可能是一种选择。
在Windows上,有Java Service Wrapper。而且不多。
答案 2 :(得分:0)
对于Windows Java Service Wrapper是一个更好的选择
答案 3 :(得分:0)
我最喜欢的是Linux上的暴发户,但它只是Ubuntu。
在Windows上,根据this论坛,我看到了很多替代方案。
答案 4 :(得分:-1)