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:
In case someone is looking for more information on running Jetty as a service, check out:
There seems to be issues with the Java Service Wrapper included as part of the Jetty Service on some x64 machines.
The community version of the Java Service Wrapper does not support x64 though. If I download and incorporate the standard or professional edition using method 4 on their website then things will work.
http://wrapper.tanukisoftware.com/doc/english/download.jsp
This worked for me:
Added to top of bin\jetty-service.conf:
wrapper.java.command=%JAVA_HOME%\jre\bin\java.exe
Note that JAVA_HOME
in my system is set:
JAVA_HOME=C:\Java\jdk1.6.0_35
and I'm using a 64 bit JVM:
C:\>java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With