1

我目前开发了一个 Eclipse 应用程序,它也有一个无头构建,可用于与其他一些应用程序集成。我们为我们的应用程序创建了一个 .exe。我需要的是当我们的应用程序安装完成时,无头构建应该注册为窗口服务。使用包含以下内容的批处理文件开始无头构建:

set WORKSPACE=
java -jar plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar -pluginCustomization plugin_customization.ini -application myapplication.app.HEADLESSAPP -data %WORKSPACE% -noExit -isHeadLess

当我们运行这个 .bat 文件时,它会以非 UI 模式启动我们的应用程序。

到目前为止,我尝试了以下操作:

  1. 尝试了sc.exe命令,但这不起作用。
  2. 然后我将我的 .bat 文件转换为.exe然后尝试sc.exe(给出错误 1053)和NSSM(可执行路径始终引用nssm.exe而不是我的应用程序)。

所以基本上我需要一种方法来注册这个.bat.exe文件作为 Windows 服务,以便它启动我的无头应用程序。

更新 :

试过这个:

set SERVICE_NAME=TESTSERVICE
set SERVICE_TITLE="TESTSERVICE"

set ECLIPSE_DIR=%~dp0

"%~dp0TESTSERVICE.exe" install %SERVICE_TITLE% --Startup=auto --StartMode=java --StartImage="%ECLIPSE_DIR%eclipsec.exe" --StartPath="%ECLIPSE_DIR%\" ++StartParams="-noSplash -pluginCustomization plugin_customization.ini -application com.eu.ales.hvac.ipm.headless.app.HEADLESSIPMDT -data \"%ECLIPSE_DIR%workspace\" -configuration \"%ECLIPSE_DIR%configuration\"" --LogPath="%ECLIPSE_DIR%\" --LogLevel="Error" --LogPrefix="service" 

但得到这个

错误

4

1 回答 1

0

为了将无头 Eclipse RCP 应用程序作为 Windows 服务运行,我成功使用了Apache Commons 的prunsrv.exe在此处下载)多年。

将 Eclipse Infocenter(这是一个无头 RCP 应用程序,包含在所有 Eclipse IDE 包中)作为 Windows 服务运行的分步说明:

  1. 前提条件
  2. http://www.apache.org/dist/commons/daemon/binaries/windows/下载commons-daemon-1.0.15-bin-windows.zip
  3. 从下载的 ZIP 存档的根目录中提取prunsrv.exe到您的 Eclipse 安装目录中
  4. 在 Eclipse 安装目录中创建install_as_service.bat包含以下内容的文件:

    set INFOCENTER_PORT=8088
    set INFOCENTER_TITLE="Eclipse Infocenter"
    for %%i in ("%~dp0") do (set INFOCENTER_DIR=%%~dpi)
    set INFOCENTER_DESCRIPTION=Port: %INFOCENTER_PORT%, Location: %INFOCENTER_DIR%
    "%~dp0\prunsrv.exe" install %INFOCENTER_TITLE% --Description="%INFOCENTER_DESCRIPTION% " --Startup=auto --StartMode=exe --StartImage="%INFOCENTER_DIR%eclipsec.exe" --StartPath="%INFOCENTER_DIR%\" ++StartParams="-noSplash#-application#org.eclipse.help.base.infocenterApplication#-data#\"%INFOCENTER_DIR%info_center_workspace\"#-configuration#\"%INFOCENTER_DIR%info_center_configuration\"#-vmargs#-Dserver_port=%INFOCENTER_PORT%#-Xms420m#-Xmx420m#-XX:MaxPermSize=256m" --StopMode=exe --StopTimeout=300 --StopImage="%INFOCENTER_DIR%eclipsec.exe" --StopPath="%INFOCENTER_DIR%\" ++StopParams="-noSplash#-application#org.eclipse.help.base.infocenterApplication#-data#\"%INFOCENTER_DIR%info_center_workspace\"#-configuration#\"%INFOCENTER_DIR%info_center_configuration\""#-command#shutdown --LogPath="%INFOCENTER_DIR%\" --LogLevel="Error" --LogPrefix="service"
  5. 双击install_as_service.bat

  6. Windows+ R,输入services.msc并单击确定
    • => 服务列表应该包含Eclipse Infocenter
  7. 启动服务 Eclipse Infocenter
  8. 在网络浏览器中打开http://localhost:8088/help/index.jsp

要卸载服务,首先停止服务,然后运行prunsrv.exe delete "Eclipse Infocenter"

于 2017-08-04T12:11:06.440 回答