Jira fails to start as a Windows service
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Jira bundled with Java 1.9 may fail to start as a Windows service if the Java Virtual Machine is set to use jvm.dll from JRE 1.8 and Java 9 Options are added as the JVM parameter. Starting Jira manually using start-jira.bat works.
Environment
Jira is bundled with Java 1.9+ and configured to use Java 1.8 at Windows service configuration
Diagnosis
Windows service configuration with jvm.dll configured to use from Java 1.8

The following error occurs while starting the service

The following error can be seen in the Windows event viewer

Similar errors like below may occur in the jira-stderr.<date>.log file ( You may not see the "Unrecognized option" )

Cause
The "--add-opens /
--add-export" options are being used as JVM parameters, however, Java 1.8 does not support them.
Solution
Remove any of the following JVM parameters from the service configuration
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.nio.file=ALL-UNNAMED
--add-opens=java.base/javax.crypto=ALL-UNNAMED
--add-opens=java.management/javax.management=ALL-UNNAMED
--add-opens=java.desktop/sun.font=ALL-UNNAMED
--add-opens=java.base/sun.reflect.generics.parser=ALL-UNNAMED
--add-opens=java.base/java.time=ALL-UNNAMED
--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED
--add-exports=java.base/sun.security.action=ALL-UNNAMED
--add-exports=java.xml/jdk.xml.internal=ALL-UNNAMED
Was this helpful?