My computer crashed today and after restart none of my Java based application via Tomcat that used MySQL would work. I would get an error like this:
Could not verify datasource: java.lang.VerifyError: (class: com/mysql/jdbc/DatabaseMetaData, method: supportsRefCursors signature: ()Z) Illegal use of nonvirtual function call
No matter the amount of Googling did anything turn up useful. After reinstalling MySQL, I realized that my Aqua DataStudio could still connect and query the MySQL databases. I tried a new MySQL J/Connector which did not help.
In the end, the fix was that Tomcat was using Java8 weekly (via a .deb) and something in Java8 must be broken. I downgraded Tomcat to use Java7 and everything worked. I found out that there was an update to my system to Java8 on 2/13 and the restart made it effective because Tomcat had been running for at least a week.
The fix: Check your Java version and downgrade from Java8
Image may be NSFW.
Clik here to view.

Clik here to view.
