JRuby on Rails 시작
환경변수 표현은 유닉스 bash 기본으로 하겠습니다. Rails 버전은 2.0 이상으로 상정합니다.
자바 환경 설치
http://java.sun.com/javase/downloads/
에서 최신 Java SE를 설치합니다.(2008년 5월 4일 현재 Java SE 6u6)
JAVA_HOME 환경변수를 잡고, $JAVA_HOME/bin을 PATH 환경변수에 추가합니다.
JRuby 설치
http://dist.codehaus.org/jruby/
에서 최신 실행본을 받습니다.(2008년 5월 4일 현재 1.1.1)
압축을 풀고
JRUBY_HOME 환경변수을 잡고, $JRUBY_HOME/bin을 PATH에 추가합니다.
Rails 설치
혹시 자신의 환경이 방화벽 뒤에서 HTTP 프록시를 쓴다면,
HTTP_PROXY (형식은 http://${http-proxy-host}:${http-proxy-port}/)
환경변수를 잡습니다.
gem install rails --no-ri --no-rdoc
을 실행하여 Rails를 설치합니다.
Rails 프로젝트 생성 및 실행
rails project이름
으로 프로젝트를 만든 다음, 그 디렉토리로 들어가서 서버를 띄우려면
jruby script/server
을 실행합니다.
JRuby와 자바의 연동
자바 클래스 사용
같은 이름의 루비 클래스가 있으면 단순히 include_class가 안됩니다.
-> 해결안은 module로 네임스페이스를 추가하거나
include_class('java.lang.String') {|package,name| "J#{name}" }
와 같이 JString으로 이름을 바꿉니다.
(참고 http://jruby.codehaus.org/The+JRuby+Tutorial+Part+1+-+Getting+Started)
JDBC로 DB 연결
ActiveRecord-JDBC를 설치합니다.
gem install activerecord-jdbc-adapter --no-rdoc --no-ri
JDBC 드라이버 jar 파일을 CLASSPATH에 추가합니다.
(다른 방법으로 특정 DB용 어댑터를 설치할 수도 있습니다. 예를 들어 내가 접속하는 DB가 MySQL이라면
gem install activerecord-jdbcmysql-adapter --no-rdoc --no-ri
와 같이 하면 JDBC 드라이버 jar 파일을 따로 CLASSPATH에 추가할 필요가 없습니다. 지원되는 DB 목록은 http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter/ 을 참고하세요.)
나머지 설정은 Rails와 동일합니다.
(참고 http://wiki.jruby.org/wiki/Running_Rails_with_ActiveRecord-JDBC)
발전
Ruby on Java의 발전 가능성
Ruby를 소스로부터 빌드하다보니 Platform Independence의 장점이 떠올랐습니다. JRuby 의 장점으로, 유닉스 계열에서는 루트일 필요가 없습니다.(gem 설치 포함) 이것은 Ruby도 가능하지만, 기본적인 상황은 아닙니다. 더불어 OS 레벨에서 설치해야 하는 라이브러리 없이 자바 플랫폼을 기반으로 부가 라이브러리들을 쓸 수 있습니다.