Fisheye or Crucible fails to start with NoClassDefFoundError
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
Fisheye or Crucible fails to start up after the restart with NoClassDefFoundError like in the examples:
1
2
2024-08-17 15:52:51,448 ERROR [main ] fisheye FishEyeWebApplicationContext-doStart - The Web context could not be started
java.lang.NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable
1
2
3
2024-08-17 15:29:49,301 ERROR [main ] fisheye FishEyeWebApplicationContext-doStart - The Web context could not be started
java.lang.NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable
Diagnosis
If you see NoClassDefFoundError it means Fisheye or Crucible during the startup procedure can't find the required class in the application classpath.
The jars with the libraries of required classes are stored under $FISHEYE_HOME/lib
Identify the name of the required library. From the exception "org/springframework/core"
From the fresh Fisheye/Crucible installation we can see that the only one spring-core-4.0.9.RELEASE.jar is matching the name.
Confirm if the JAR is present in the problematic instance $FISHEYE_HOME/lib
Cause
If any of the JAR files under $FISHEYE_HOME/lib has been archived or deleted, the instnace will not start because it is missing a critical library.
Solution
Replace the missing JAR file from a healthy instance (or temporary test instance).
Was this helpful?