我正在运行Ubuntu 11.10,jruby 1.4.0,ruby 1.8.7.174,rubygems 1.3.5,rails 2.3.4
我正在开发一个需要特定版本的jruby和Rails以及glassfish服务器的项目。我遇到的问题是,当我启动glasfish时,它会显示:
Missing these required gems:
warbler >= 1.2.1
...
Run `rake gems:install` to install the missing gems.
所以我运行jruby -S rake gems:install
我得到了输出:
tlb rake task creation failed!, make sure you have installed the tlb-rspec1 gem
[Braintree] The SSL Certificate for the Sandbox environment will expire on 2010-12-01. Please check for an updated client library.
[Braintree] The SSL Certificate for the Production environment will expire on 2012-01-08. Please check for an updated client library.
jruby -S gem install warbler --version ">= 1.2.1"
System.java:-2:in `arraycopy': java.lang.ArrayIndexOutOfBoundsException
from DefaultResolver.java:111:in `makeTime'
from DefaultResolver.java:277:in `create'
from DefaultResolver.java:317:in `handleScalar'
from DefaultResolver.java:435:in `orgHandler'
from DefaultResolver.java:455:in `node_import'
from org/yecht/ruby/DefaultResolver$s_method_1_0$RUBYINVOKER$node_import.gen:-1:in `call'
from CachingCallSite.java:147:in `call'
from RubyLoadHandler.java:39:in `handle'
from Parser.java:300:in `addNode'
from DefaultYAMLParser.java:676:in `yyparse'
from Parser.java:290:in `yechtparse'
from Parser.java:284:in `parse'
from YParser.java:152:in `load'
from org/yecht/ruby/YParser$s_method_0_1$RUBYINVOKER$load.gen:-1:in `call'
from JavaMethod.java:623:in `call'
from DynamicMethod.java:176:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from CallOneArgNode.java:57:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from CallOneArgNode.java:57:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from CallOneArgNode.java:57:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from FCallOneArgNode.java:36:in `interpret'
from InstAsgnNode.java:95:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from EnsureNode.java:96:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from WhenOneArgNode.java:36:in `whenSlowTest'
from WhenOneArgNode.java:46:in `when'
from CaseNode.java:133:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from YieldNode.java:112:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyKernel.java:1182:in `loop_1_9'
from org/jruby/RubyKernel$s_method_0_0$RUBYFRAMEDINVOKER$loop_1_9.gen:-1:in `call'
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:133:in `callIter'
from FCallNoArgBlockNode.java:32:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedMethod.java:155:in `call'
from DefaultMethod.java:161:in `call'
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:123:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:229:in `call'
from DefaultMethod.java:193:in `call'
from CachingCallSite.java:340:in `cacheAndCall'
from CachingCallSite.java:198:in `callBlock'
from CachingCallSite.java:203:in `call'
from RubyClass.java:720:in `call'
from DynamicMethod.java:184:in `call'
from WrapperMethod.java:62:in `call'
from CachingCallSite.java:330:in `cacheAndCall'
from CachingCallSite.java:189:in `call'
from FCallTwoArgNode.java:38:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from EnsureNode.java:96:in `interpret'
from InterpretedMethod.java:229:in `call'
from DefaultMethod.java:193:in `call'
from CachingCallSite.java:340:in `cacheAndCall'
from CachingCallSite.java:198:in `callBlock'
from CachingCallSite.java:203:in `call'
from CallTwoArgBlockPassNode.java:62:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:266:in `call'
from DefaultMethod.java:209:in `call'
from CachingCallSite.java:360:in `cacheAndCall'
from CachingCallSite.java:238:in `callBlock'
from CachingCallSite.java:253:in `callIter'
from CallThreeArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:247:in `call'
from DefaultMethod.java:201:in `call'
from CachingCallSite.java:350:in `cacheAndCall'
from CachingCallSite.java:229:in `call'
from FCallThreeArgNode.java:40:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyIO.java:1067:in `open'
from RubyKernel.java:284:in `open'
from org/jruby/RubyKernel$s_method_0_2$RUBYFRAMEDINVOKER$open.gen:-1:in `call'
from DynamicMethod.java:188:in `call'
from CachingCallSite.java:340:in `cacheAndCall'
from CachingCallSite.java:198:in `callBlock'
from CachingCallSite.java:213:in `callIter'
from FCallTwoArgBlockNode.java:34:in `interpret'
from NewlineNode.java:104:in `interpret'
from IfNode.java:119:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:210:in `call'
from DefaultMethod.java:185:in `call'
from CachingCallSite.java:330:in `cacheAndCall'
from CachingCallSite.java:189:in `call'
from CallTwoArgNode.java:59:in `interpret'
from InstAsgnNode.java:95:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:229:in `call'
from DefaultMethod.java:193:in `call'
from CachingCallSite.java:340:in `cacheAndCall'
from CachingCallSite.java:198:in `callBlock'
from CachingCallSite.java:203:in `call'
from RubyClass.java:720:in `call'
from DynamicMethod.java:184:in `call'
from CachingCallSite.java:330:in `cacheAndCall'
from CachingCallSite.java:189:in `call'
from CallTwoArgNode.java:59:in `interpret'
from DAsgnNode.java:110:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyArray.java:1635:in `eachCommon'
from RubyArray.java:1642:in `each'
from org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:123:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:210:in `call'
from DefaultMethod.java:185:in `call'
from CachingCallSite.java:330:in `cacheAndCall'
from CachingCallSite.java:189:in `call'
from CallTwoArgNode.java:59:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyArray.java:1635:in `eachCommon'
from RubyArray.java:1642:in `each'
from org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:123:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:136:in `call'
from DefaultMethod.java:153:in `call'
from CachingCallSite.java:290:in `cacheAndCall'
from CachingCallSite.java:109:in `call'
from VCallNode.java:85:in `interpret'
from NewlineNode.java:104:in `interpret'
from IfNode.java:119:in `interpret'
from IfNode.java:119:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:247:in `call'
from DefaultMethod.java:201:in `call'
from CachingCallSite.java:350:in `cacheAndCall'
from CachingCallSite.java:229:in `call'
from CallSpecialArgNode.java:71:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from CaseNode.java:138:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from FCallOneArgNode.java:36:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from CallOneArgNode.java:57:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from gem:24:in `rescue_1$RUBY$__rescue___0'
from gem:23:in `__file__'
from gem:-1:in `load'
from Ruby.java:628:in `runScript'
from Ruby.java:550:in `runNormally'
from Ruby.java:396:in `runFromMain'
from Main.java:272:in `run'
from Main.java:117:in `run'
from Main.java:97:in `main'
我还尝试了jruby -S gem install warbler -v 1.2.1
和jgem install warbler -v 1.2.1
结果相同
答案 0 :(得分:0)
错误消息的第一行显示:
tlb rake task creation failed!, make sure you have installed the tlb-rspec1 gem
你试过这个吗?
答案 1 :(得分:0)
这听起来像是一个臭虫。它可能就是这个:http://bug.jruby.org/5581(虽然你在1.4.0中得到这个很奇怪。)
有几种选择,假设您遇到JRuby 1.4.0:
yecht.jar
,将其插入JRuby 1.4.0源代码lib/ruby/site_ruby/shared/yecht.jar
,然后重建jruby.jar
。这个可能(或可能不会)通过修复程序获得JRuby 1.4.0。