Update: I installed the 32bit JDK and the service starts fine now. No idea why though. The machine it was failing on was 64bit...
Update2: So installing the 32bit JDK will allow the service to install, but solr will not run. There is a StackOverflowException and NullPointer Excpetions in the logs.
I am trying to run Jetty as a service on Windows 7 64bit. I have it running on a very similar machine just fine, but on the second I am getting errors I have not been able to resolve.
The service installs fine, however when you try to start it you get the message in the console: The Jetty6-Service service was launched, but failed to start.
This is the related contents in the jetty-service.log:
STATUS | wrapper | 2011/02/16 12:50:07 | Starting the Jetty6-Service service...
STATUS | wrapper | 2011/02/16 12:50:07 | --> Wrapper Started as Service
DEBUG | wrapper | 2011/02/16 12:50:07 | Using tick timer.
DEBUG | wrapperp | 2011/02/16 12:50:07 | server listening on port 32000.
STATUS | wrapper | 2011/02/16 12:50:07 | Launching a JVM...
DEBUG | wrapper | 2011/02/16 12:50:07 | command: "java" -Djetty.home=../ -Djetty.logs=../logs -Dsolr.solr.home=C:/solr/ -Xms5m -Xmx64m -Djava.library.path="../lib/win32/" -classpath "../lib/win32/jetty-win32-service-java-6.1.26.jar;../lib/win32/wrapper.jar;../lib/jetty-6.1.3.jar;../lib/jetty-util-6.1.3.jar;../lib/servlet-api-2.5-6.1.3.jar;../start.jar" -Dwrapper.key="c5CIhIjsO0gmMcTE" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.debug="TRUE" -Dwrapper.pid=4708 -Dwrapper.version="3.2.3" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.mortbay.jetty.win32service.JettyServiceWrapperListener ../etc/jetty.xml
FATAL | wrapper | 2011/02/16 12:50:07 | Unable to execute Java command. The system cannot find the file specified. (0x2)
FATAL | wrapper | 2011/02/16 12:50:07 | "java" -Djetty.home=../ -Djetty.logs=../logs -Dsolr.solr.home=C:/solr/ -Xms5m -Xmx64m -Djava.library.path="../lib/win32/" -classpath "../lib/win32/jetty-win32-service-java-6.1.26.jar;../lib/win32/wrapper.jar;../lib/jetty-6.1.3.jar;../lib/jetty-util-6.1.3.jar;../lib/servlet-api-2.5-6.1.3.jar;../start.jar" -Dwrapper.key="c5CIhIjsO0gmMcTE" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.debug="TRUE" -Dwrapper.pid=4708 -Dwrapper.version="3.2.3" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.mortbay.jetty.win32service.JettyServiceWrapperListener ../etc/jetty.xml
FATAL | wrapper | 2011/02/16 12:50:07 | Critical error: wait for JVM process failed
ERROR | wrapper | 2011/02/16 12:50:09 | The Jetty6-Service service was launched, but failed to start.
The one difference that I know of between the two machines is that the one that is not working had Tomcat installed at one point which it no longer does.
I have tried the following:
- Uninstalled all copies of the Java JDK and JRE
- Reinstalled the latest Java JDK - jdk1.6.0_24 which installs the associated JRE
- Tried setting JAVA_HOME to C:\Program Files\Java\jdk1.6.0_24
- Googled all error messages
- I can run java -version in the console without error
In case someone is looking for more information on running Jetty as a service, check out:
java -version
from that console? as the java binary might not be in the path. – Augusto