[英]Cannot load driver class: com.mysql.jdbc.Driver Spring
[英]NameError: cannot load Java class com.mysql.jdbc.Driver
我正在使用JRuby 1.7.2,以及DataMapper,我收到一個錯誤,我找不到答案。
我只是測試DataMapper和MySQL 5.5,看看它是否會在我構建時運行良好。 這是我正在測試的文件:
require "data_mapper"
require "keys"
DataMapper.setup(:default, "mysql://#{$user}:#{$pass}@localhost/test_db")
當我運行這個時,我得到錯誤:
NameError: cannot load Java class com.mysql.jdbc.Driver
它指向DataMapper.setup行。
我的Gemfile應該沒問題:
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"
有什么我想念的嗎? 我已經在本地設置了用戶/傳遞的MySQL。
在為MySQL
運行JDBC
客戶端時,這是一個常見錯誤。 您需要確保在類路徑上有mysql-connector-java-bin.jar
。 你可以從這里下載。
我正在使用Rails 3.2.9並解決了我在application.rb中添加的問題
if defined? JRUBY_VERSION
require 'jdbc/mysql'
Jdbc::MySQL.load_driver
end
實際上,正確的答案是解決5.1.13和5.1.22之間的不兼容問題!
jdbc-mysql gem已經包含了mysql-connector.jar,它只是不再自動加載:
https://github.com/jruby/activerecord-jdbc-adapter/tree/master/jdbc-mysql (閱讀README)
您還可以使用Java系統屬性強制驅動程序自動加載,例如從cmd行:
jruby -J-Darjdbc.mysql.autoload=true -S rake ...
嘗試使用jruby / rails4中的mysql數據庫時遇到了同樣的錯誤。 在我的情況下,。/ Gemfile中缺少這一行:
gem 'jdbc-mysql'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.