2014-01-20 1 views
1

Ruby로 작성된 Sinatra 기반 응용 프로그램을 warbler를 사용하여 패키지화했습니다. 결과 파일은 로컬 랩톱 (Tomcat 7.0.50) 및 샌드 박스 호스트 (Tomcat 6.0.35)에서 제대로 작동합니다. 그러나 자극 상자에이 전쟁 (정확히 같은 파일 - md5sum이와 재배치 및 재확인) 오류 다음 표시 :JRuby war dependencies/environment issue

org.jruby.rack.RackInitializationException: No such file or directory - file:/opt/apache-tomcat-6.0.35/webapps/blah/WEB-INF/lib/gems.jar!/gems/mail-2.5.4/lib/mail/../VERSION 
from org/jruby/RubyIO.java:3741:in `read' 
from org/jruby/RubyIO.java:3920:in `read' 

생산성 상자 (리눅스에서 현재 실행 과정을 통해 재확인) JVM과 아파치의 동일한 버전을 가지고있다.

gems.jar 파일을 풀면 요청한 파일이 VERSION이라는 것을 알 수 있습니다. 따라서 패키지 문제가 아닙니다.

이 전쟁은 무엇에 달려 있습니까?

다른 구성 (내 랩톱)에서 작동하지만 동일한 구성 (샌드 박스 & prod)에서 작동하지 않는다는 점이 무엇입니까?

JRuby 1.7.5를 사용하고 있습니다.

답변

0

지금의 .jar로 보석을 포장하지 않으려 고, 그것은 더 FS의 기대를 반영 것 - 문제가 .JAR

추신에 __FILE__, File.expand_path 등의 사용과 때때로있다 또한 최신 JRuby 1.7.10에서이 문제가 수정 될 수도 있지만 Warbler에서 gemjar 기능을 비활성화하지 않으면 .war에 보석이 그대로 포함됩니다 (다른 병에 포장되지 않음).