2012-11-01 2 views
0

선수입니다. warbler를 사용하여 war 파일을 만듭니다.실행 레이크 작업에서는 관련 JRuby를

링크 된 질문에 대한 답을 사용하여, 나는 달렸다 :

java -cp lib/jruby-core*.jar:lib/jruby-stdlib*.jar org.jruby.Main -S rake -T 

를이 나에게 오류 가져옵니다

ems-gems-activerecord-jdbc-adapter-1.2.2-lib-arjdbc-jdbc-adapter_java.jar 
gems-gems-jdbc-sqlite3-3.7.2-lib-sqlite-jdbc-3.7.2.jar 
gems-gems-jruby-jars-1.6.8-lib-jruby-core-1.6.8.jar 
gems-gems-jruby-jars-1.6.8-lib-jruby-stdlib-1.6.8.jar 
gems-gems-jruby-rack-1.1.10-lib-jruby-rack-1.1.10.jar 
gems-gems-json-1.7.5-java-lib-json-ext-generator.jar 
gems-gems-json-1.7.5-java-lib-json-ext-parser.jar 
gems-gems-therubyrhino_jar-1.7.4-jar-rhino-1.7R4.jar 
gems-gems-warbler-1.3.6-lib-warbler_jar.jar 
jruby-core-1.6.8.jar 
jruby-rack-1.1.10.jar 
jruby-stdlib-1.6.8.jar 
ojdbc6.jar 

열기까지 jruby-core-1.6.8.jar :

Exception in thread "main" java.lang.NoClassDefFoundError: org/jruby/Main 
Caused by: java.lang.ClassNotFoundException: org.jruby.Main 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 

ls lib 저를 얻는다을 파일, 실제로는가 있음을 알 수 있습니다. 10 파일.

하나가 파일 목록에서 볼 수 있듯이

, 아니 jruby-complete jar 파일이없는, 그래서 내가 뭘 잘못 https://stackoverflow.com/a/9982556/684934

에서 명령을 실행할 수 없습니다, 그리고 할 수있는 지금은 더 나은 방법으로이 이?

답변

0

2 달 전에 비슷한 문제가 발생하여 상황이 바뀌었지만 클래스 경로에 모든 병을 포함하고 빈 스텁을 사용해야하며 GEM_HOME을 설정하여 모든 작업을 수행해야했습니다. 그것은 더 간단했을 수도 있지만 참조한 게시물이 나를 위해 일하지 않았습니다.

실제로 JRuby를 설치했다 (하지만 난 단지 연결된 클래스 경로를 구축하는 데 사용했다), 나의 설정이었다 같은 : 또한 유용

cd /path/to/application/ 
export GEM_HOME=/path/to/application/gems 
export CLASSPATH=$(jruby -e 'puts Dir["lib/*.jar"].join(":")') 

RAILS_ENV=production java -cp $CLASSPATH org.jruby.Main bin/rake -T 

jruby-jars 보석이에 포함 할 수 있습니다 gemfile은 warbler가 포함하고있는 jruby의 버전을 설정합니다 (나는 아직 사용하지 않았습니다. gem 'jruby-jars', '1.7.0.preview2'은 1.7.0을 릴리즈하지 않았습니다).