Fisheye or Crucible fails to start with NoClassDefFoundError
Summary
Fisheye or Crucible fails to start up after the restart with NoClassDefFoundError like in the examples:
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
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
Environment
Any Fisheye or Crucible version.
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).