有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用NSSM在Windows 7上安装Java服务

我正在尝试使用Inno安装程序将Windows服务安装为运行在NSSM(非吸吮式服务管理器)下的JAR文件

nssm install JarService java -jar service.jar
nssm start JarService

最终使我的服务处于“暂停”状态,并且它似乎从未开始

由于java.exe的位置会随着更新而改变,因此我希望能够在没有java.exe的显式路径的情况下运行该服务,如何在NSSM中没有显式路径的情况下启动java服务


共 (3) 个答案

  1. # 1 楼答案

    就在上周,我不得不做一些类似的事情。 当我用java的完整路径替换“java”时。exe,我可以运行服务,因此:

    nssm install JarService FullPath/java.exe -jar service.jar
    

    应该有用。我认为NSSM不会为其应用程序搜索路径

  2. # 2 楼答案

    在Windows 2012 R2操作系统上,我使用了:

    nssm install MyServiceName "C:\Program Files\MyServiceName\start.bat"
    

    然后在批处理文件中,启动。巴特,我有:

    java -cp "C:\Program Files\MyServiceName\MyServiceName.jar" com.package.MyServiceMainClass
    
  3. # 3 楼答案

    我必须创建一个powershell脚本来运行java服务:

    java.exe -jar service.jar
    

    然后,我在Inno安装程序的[Run]部分中引用powershell的完整路径:

    Filename: "{app}\nssm.exe"; Parameters: "install ""{#MyAppName}"" ""{sys}\WindowsPowerShell\v1.0\powershell.exe"" ""-ExecutionPolicy Unrestricted -File {app}\runservice.ps1"""; Flags: runhidden 
    

    只要powershell不移动,这应该可以工作