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

  1. Identify the name of the required library. From the exception "org/springframework/core"

  2. From the fresh Fisheye/Crucible installation we can see that the only one spring-core-4.0.9.RELEASE.jar is matching the name.

  3. 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).

Updated on March 18, 2025

Still need help?

The Atlassian Community is here for you.