从Java项目运行Powershell脚本作为服务包装

时间:2015-07-24 20:46:50

标签: java powershell service yajsw

我使用yajsw(另一个java服务包装器)将两个java程序包装为服务,以使它们在不同的服务器上无限期运行。我让他们中的一个完全按照我的预期工作(该服务安装在服务器上,其行为与从cmd运行时的行为完全相同,并在任何时候或服务器停机时重新启动)。但是,当我使用第二个java项目执行此操作时,它不起作用。它作为服务安装并将运行,但是当它尝试从java中运行powershell脚本(第一个项目没有做的事情)时,使用ProcessBuilder(),它启动并且powershell.exe显示在任务管理器中,但是永远不会关闭或产生任何预期的副作用。当我从命令行运行.jar时,这两件事都无缝地工作。服务/流程运行的环境有什么不同可以解释这个吗?

更新: 在脚本中我有以下行: $ outlook = new-object -com outlook.application;

问题是$ outlook在此之后为null,然后脚本无法解析任何导致无输出的电子邮件。如果将java程序包装为服务会破坏Outlook应用程序对象的创建呢?

0 个答案:

没有答案