JavaService.exe -install 项目名称 "%JAVA_HOME%"\jre\bin\server\jvm.dll Djava.class.path="%JAVA_HOME%"\lib\tools.jar;"%CD%"\项目名称 -start 项目入口函数  
net start 项目名称 {开始windows服务}
http://blog.csdn.net/merryzhao/article/details/1798775 参考这个安装jre 按默认安装的时候会有空格.服务可以安装,但是启动不了。
请各位大侠帮我解决这个 即使有环境变量配置有空格,也可以让服务启动的方法。

解决方案 »

  1.   

    你的双引号加错位置了吧?应该是全路径包含才对:JavaService.exe -install 项目名称 "%JAVA_HOME%\jre\bin\server\jvm.dll" 
    -Djava.class.path="%JAVA_HOME%\lib\tools.jar";"%CD%\项目名称" -start "项目入口函数"
      

  2.   

    JavaService.exe -install SANMonitorServer "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path="%JAVA_HOME%\lib\tools.jar";"%CD%\SANMonitorServer.jar" -start "cn.infocore.DataReceive.DataReceive_Manager" 
    net start SANMonitorServer  {开始windows服务}
    我改成这样了 还是不行丫。问题出在哪里了?
      

  3.   

    发现似乎又写多余了一个地方:
      -Djava.class.path="%JAVA_HOME%\lib\tools.jar";"%CD%\SANMonitorServer.jar"
    应该是:
      -Djava.class.path="%JAVA_HOME%\lib\tools.jar;%CD%\SANMonitorServer.jar"
    生成后的Windows服务路径,是否正确?
    也就是:控制面板->管理工具->服务,找到你注册的服务,然后看其“常规”中的“可执行的文件路径”。
      

  4.   

    主要的难题是怎么把 双引号 " 正确送入注册的服务路径中,只有把 " 写入了服务启动命令,才能顺利解决路径中的空格问题。在CMD界面下," 的转义还比较复杂,所以楼主需要多试验试验了
      

  5.   

    下面这个是我的环境变量的配置信息
    JAVA_HOME="C:\Program Files\Java\jdk1.6.0_02"
    CLASSPATH=".;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;" -Djava.class.path="%JAVA_HOME%\lib\tools.jar;%CD%\SANMonitorServer.jar" 
    安你这样的路径设置是否要改成如下设置
      -Djava.class.path="%JAVA_HOME%\lib\tools.jar;%CD%\lib\SANMonitorServer.jar"
    可执行文件在这里:
    C:\Program Files\Enterprise Information Management\OSN SANMonitor SERVER\apache-tomcat-6.0.20\webapps\SANMonitor_Server\JavaService.exe
      

  6.   

    我先问下,你这个%CD%,能引用到吗?我用过这个JavaService.exe,我的项目中引用的第三方类包,在这里写的是具体路径的,而且JavaService.exe这个文件和要执行的jar是在同一目录的。但我注册这个服务,有个问题,就是注册成服务后,程序执行的默认目录是windwos系统目录下的system32