Jira Service Fails To Start in Windows - Is Not a Valid Win32 Application
症状
Jira Service fails to start in Windows with the following error in the Windows event log:
Event ID 7000 and "%1 Is Not a Valid Win32 Application"
The following appears in commons-daemon.log
for Apache Tomcat:
[2012-11-24 13:37:25] [info] Running 'jira' Service...
[2012-11-24 13:37:25] [info] Starting service...
[2012-11-24 13:37:25] [error] %1 is not a valid Win32 application.
[2012-11-24 13:37:25] [error] Failed creating java C:\Progra~2\Java\jdk1.6.0_24\jre\bin\server\jvm.dll
[2012-11-24 13:37:25] [error] %1 is not a valid Win32 application.
[2012-11-24 13:37:25] [error] ServiceStart returned 1
[2012-11-24 13:37:25] [error] %1 is not a valid Win32 application.
[2012-11-24 13:37:25] [info] Run service finished.
[2012-11-24 13:37:25] [info] Commons Daemon procrun finished
原因
There are a number of known causes for this problem:
- Windows has issues with services that have spaces in the file path as described in this Microsoft article. The root cause of this issue can be due to the Jira service using the JRE/JDK that is installed in the system rather than the bundled JRE that came along with the Standalone Installer for Windows. And the installed JRE usually has a space in the path as it is usually at the location "
C:\Program Files (x86)\Java
" or "C:\Program Files\Java"
. - Jira has been installed in a 64-bit Windows version using the 64-bit installer, however is using 32-bit Java.
- Jira has been installed in a 64-bit Windows version using the 32-bit installer, however is using 64-bit Java.
When installing Jira onto a 64-bit Windows, we recommend using the 64-bit installer and bundled JRE as using 32-bit on 64-bit architecture is known to cause problems as in our JIRA crashes when running as a Windows Service KB article.
回避策
Try to start Jira using the start-jira.bat
file in Jira's bin
directory to restore access until the Windows Service is fixed.
Remember to transfer the JVM arguments from the service to setenv.bat
. More details about it on Setting properties and options on startup.
If this doesn't work, it could be due to the %JAVA_HOME%
variable pointing to the incorrect JVM as well.
ソリューション
Verify that Jira is using the correct JVM by editing the service, as in our Setting Properties and Options on Startup documentation. If the bundled installer was used, the JVM should be the following:
C:\Program Files\Atlassian\JIRA\jre\bin\server\jvm.dll
This may be in
Program Files (x86)
if using Windows 64-bit and Jira 32-bit. If this is how your Jira is configured, we recommend migrating to 64-bit Jira on 64-bit Windows.- Start Jira using the Service.
- If this does not resolve the problem, delete the
%JAVA_HOME%
environment variable, as set in our Installing Java docs. - Take note of the JVM configurations by following Setting Properties and Options on Startup.
Reinstall the service with the following, executing on the command line in
<JIRA_INSTALL>/bin
:service.bat remove service.bat install
- Restore the service configurations.
- Attempt to start the application.
"There has been some report as "tomcat8w.exe.x64" is being removed after the upgrade process from under the bin folder so you need to install the 64-bit tomcat and place it under the bin folder for the "atlassian-jira-software.x.x.x\bin"."