Problem: Jakarta Tomcat service fails to start due to an internal error
Attempting to start the Jakarta Tomcat service using the TomcatService.exe or JavaService.exe produces internal errors such as:
From Control Panel Services:
"Could not start the Jakarta service on Local Computer. The service did not return an error. This could be an internal Windows error or an internal service error. If the problem persists, contact your system administrator."From the command prompt using "net start Jakarta":
"The Jakarta service is starting. The Jakarta service could not be started. The service did not report an error."In the Windows Application Event Log there will be the following entry:
"The RegQueryValueEx function failed for the following reason: The operation completed successfully."
The TomcatService.exe and JavaService.exe cannot read a registry value that exceeds 256 characters. The specific registry key is:
HKEY_LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\Jakarta\Parameters\JVM Option Number 2
Solution or Workaround
Typically, Jakarta files are installed in a directory named, for example, "jakarta-tomcat-3.2.x". By merely shortening this directory name, you may be able to significantly reduce the length of the problematic registry value to less than 256 characters. You can uninstall and then reinstall the service using the below instructions as a workaround.
Caution: Do not attempt to edit the registry value as it will not fix the problem. However, you can use the Registry Editor to determine if this entry exceeds the 256 character limit.
Warning: The instructions below include making changes to essential parts of your operating system. It is recommended that you backup your operating system and files, including the registry, before proceeding. Consult with a qualified computer systems professional, if necessary. Esri cannot guarantee results from incorrect modifications while following these instructions; therefore, use caution and proceed at your own risk.
- Remove the Jakarta service. For example,
C:\jakarta-tomcat-3.2.3\bin>TomcatService -uninstall Jakarta
- or -
C:\jakarta-tomcat-3.2.3\bin>JavaService -uninstall Jakarta
- If the Jakarta Tomcat directory is located somewhere other than the root directory, (for example - C:\Program Files\), use Windows Explorer to move the folder to a root directory, such as C:\ or D:\.
- Rename the Jakarta Tomcat installation directory to simply "tomcat", placing all Jakarta files in a single location, for example D:\tomcat.
- In the system Environment Variables, change the value of TOMCAT_HOME to correspond with the above changes.
Likewise, if using the IIS web server, make the corresponding changes to the registry entries at HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0
- Reinstall the Jakarta service by running the Tomcat321Service.bat file.
- Start the Jakarta service and confirm that the error messages no longer occur.
- Tomcat service fails to start
- Configure Jakarta-Tomcat 3.2.x to start as a Windows service using jk_nt_service.exe