Fisheye/Crucible with MySQL does not start

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

Symptoms

Fisheye/Crucible with MySQL does not start.

The following appears in the atlassian-fisheye-<date>.log:

1 2 3 4 5 6 7 8 9 10 11 12 13 2012-12-31 07:45:03,914 INFO - Starting database... 2012-12-31 07:45:03,932 ERROR - The Web context could not be started org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dbControlFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.cenqua.crucible.hibernate.DBControlFactoryImpl]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Database not available (Unable to connect to MySQL database jdbc:mysql://localhost/fisheye: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver: is the database driver jar file properly installed in the FISHEYE_INST/lib directory?). Current state: NO_DB at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:288) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) ... Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.cenqua.crucible.hibernate.DBControlFactoryImpl]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Database not available (Unable to connect to MySQL database jdbc:mysql://localhost/fisheye: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver: is the database driver jar file properly installed in the FISHEYE_INST/lib directory?). Current state: NO_DB ... Caused by: java.lang.IllegalStateException: Database not available (Unable to connect to MySQL database jdbc:mysql://localhost/fisheye: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver: is the database driver jar file properly installed in the FISHEYE_INST/lib directory?). Current state: NO_DB

Cause

The JDBC driver for MySQL is not bundled with Fisheye/Crucible 2.9+ (due to licensing restrictions).

Resolution

  1. Download the MySQL Connector/J JDBC driver from the MySQL download website.

  2. Expand the downloaded zip/tar.gz file.

  3. Copy the .jar file to your FISHEYE_INST/lib directory. If the lib/directory doesn't already exist, you will need to create it.

  4. Restart Fisheye/Crucible.

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.