Search code examples
mysqljdbcjruby

NameError: cannot load Java class com.mysql.jdbc.Driver


I'm using JRuby 1.7.2, along with DataMapper, and I'm getting an error I can't find an answer to.

I'm just testing out DataMapper along with MySQL 5.5 to see if it will run fine when I build around it. Here's the file I'm testing:

require "data_mapper"
require "keys"

DataMapper.setup(:default, "mysql://#{$user}:#{$pass}@localhost/test_db")

And when I run this, I get the error:

NameError: cannot load Java class com.mysql.jdbc.Driver

And it points to the DataMapper.setup line.

My Gemfile should be alright:

source :rubygems

gem "sinatra"
gem "trinidad"
gem "data_mapper"

# do a `sudo apt-get install libmysqlclient-dev` first
gem "dm-mysql-adapter"
gem "jdbc-mysql"

Is there anything I'm missing? I have MySQL set up with a user/pass locally already.


Solution

  • This is a common error when running JDBC clients for MySQL. You need to make sure you have mysql-connector-java-bin.jar on the classpath. You can download it from here.