我正在尝试使用JSL设置Java服务。 我可以安装该服务,它显示在service.msc。 但是,一旦我开始服务,它挂起的状态“开始”。 我整天玩的.iniconfiguration,但不能让它运行。 每次我开始它,它挂起。 下面是我的.ini,在cmdline下提供的命令在标准命令提示符下工作正常。 我也尝试通过单独提供参数来设置.ini。 我在Windows Server 2003 32位上,以pipe理员身份login。
非常感谢您的帮助!
[defines] PATH = C:\company\server\client JAVA = %JAVA_HOME% PP = %PATH% P1 = %P2% P2 = %PP% ROOT_DIR = %PATH% WORK_DIR = %ROOT_DIR%\work\server [service] appname = HsqlDB servicename = Hsql DB displayname = Hsql DB servicedescription = Hsql DB stringbuffer = 16000 starttype=demand loadordergroup=someorder useconsolehandler=false stopclass=java/lang/System stopmethod=exit stopsignature=(I)V premainmethod=run premainsignature=()I premain.modules=threaddump premain.threaddump.class=com.roeschter.jsl.ThreadDumpListener premain.threaddump.method=start premain.threaddump.wait=3000 premain.threaddump.critical=no premain.threaddump.interface=127.0.0.1 wrkdir=%PATH% cmdline = java -cp C:\company\server\core\lib\com.springsource.org.hsqldb-1.8.0.10.jar org.hsqldb.Server -database.0 file:database -dbname.0 name
解决方案相当简单。 我安装了JDK,但是JSL正在寻找JRE。 在调试模式下运行JSL后,下面的提示导致了解决方案:“系统找不到指定的注册表项:HKEY_LOCAL_ MACHINE \ SOFTWARE \ Javasoft \”安装JRE解决了这个问题,因为JSL发现“Java运行时环境“注册表项,它不是由JDK创建的。
应用程序FAQ解释了如何通知JRE的JRE位置: