JRuby on Rails 3 + Embedded Derby w Windows 7

Instalujemy JDK i ustawiamy zmienną środowiskową JAVA_HOME

setx JAVA_HOME "\path\to\jdk"

Pobieramy świeżą wersję JRuby, rozpakowujemy i ustawiamy zmienną środowiskową JRUBY_HOME

setx JRUBY_HOME "\path\to\jruby"

Pobieramy Derby, rozpakowujemy i ustawiamy zmienną DERBY_HOME

setx DERBY_HOME "\path\to\derby"

Technicznie rzecz biorąc, instalacja Derby nie jest konieczna, bo wymagane archiwum jar zostanie pobrane przy instalacji gem’a activerecord-jdbcderby-adapter – ale i tak warto to zrobić ze względu na przydatne narzędzia jakie dostajemy wraz z normalną instalacją Derby.

Restartujemy wiersz poleceń i dodajemy katalogi %JAVA_HOME%\bin,%DERBY_HOME%\bin i %JRUBY_HOME%\bin do zmiennej PATH

setx PATH "%PATH%;%JAVA_HOME%\bin;%DERBY_HOME%\bin;%JRUBY_HOME%\bin"

Instalujemy Rails

jruby -S gem install rails

Instalujemy gem ActiveRecord-JDBC dla Derby

jruby -S gem install activerecord-jdbcderby-adapter

Zastosowanie opcji przy instalacji opcji --no-rdoc --no-ri znacząco ją przyśpieszy kosztem dokumentacji.

I w zasadzie możemy już rozpocząć pracę z JRuby On Rails 3😀.
Po wygenerowaniu aplikacji, wystarczy tylko zmodyfikować plik database.xml

development:
  adapter: derby
  database: db/development.db

test:
  adapter: derby
  database: db/test.db

production:
  adapter: derby
  database: db/production.db

i zamienić adapter JDBC z

'activerecord-jdbc-adapter'

na specyficzny dla Derby

'activerecord-jdbcderby-adapter'

Co oznacza, ze plik Gemfile powinien wyglądać następująco

source 'http://rubygems.org'

gem 'rails', '3.0.9'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

platforms :ruby do
  gem 'sqlite3'
end

platforms :jruby do
  gem 'activerecord-jdbcderby-adapter'
end

Gotowe! Pora na test

cd myapp
jruby -S script/rails server

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s