Ich versuche, Gurke für Jruby auf Rails zu betrachten. Eine der Vorraussetzungen ist Webrat, die als Voraussetzung hpricot hat.Installieren von Hprikot für JRuby
ich den Edelstein mit hpricot installiert haben mit:
gem hpricot installieren --source http://code.whytheluckystiff.net -Version 0.6.1 --platform java
Diese die Java-Version von hpricot installiert. Ich füge die hpricot_scan.jar zum CLASSPATH aber wenn ich laufe:
cucumber features -n
ich die folgende Ausgabe:
HpricotScanService.java:931:in `hpricot_scan': java.lang.NoSuchMethodError:
org.jruby.runtime.builtin.IRubyObject.getInstanceVariable(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
from HpricotScanService.java:1324:in `__hpricot_scan'
from null:-1:in `call'
from InvocationCallback.java:67:in `execute'
from FullFunctionCallbackMethod.java:69:in `call'
from DynamicMethod.java:243:in `call'
from CachingCallSite.java:283:in `cacheAndCall'
from CachingCallSite.java:121:in `callBlock'
usw.
Wenn ich die HpricotScanService.java Datei kompilieren und fügen die resultierende .class-Datei auf dem classpath, erhalte ich:
Then I should see "Run"
private method `scan' called for Hpricot:Module (NoMethodError)
features/step_definitions/webrat_steps.rb:94:in `/^I should see "([^\"]*)"$/'
features/manage_activity.feature:9:in `Then I should see "Run"'
Wenn ich versuche später versi zu installieren ons des hpricot, dann bekomme ich:
ERROR: Failed to build gem native extension.
C:/Program Files/Ruby/jruby-1.2.0/bin/../bin/jruby.bat extconf.rb install hpricot --platform java
C:/Program Files/Ruby/jruby-1.2.0/bin/../lib/ruby/1.8/mkmf.rb:7: JRuby does not support native extensions. Check wiki.jruby.org for alternatives. (Not
ImplementedError)
from C:/Program Files/Ruby/jruby-1.2.0/bin/../lib/ruby/1.8/mkmf.rb:1:in `require'
from extconf.rb:1
Hat jemand irgendwelche Hinweise geben, was ich falsch/nicht tun tue/wo ich bin dumm.?
Verwendung von Windows XP, JRuby 1.2.0
Aber es ist eine Java-Version verfügbar ist, werden Sie sagen, dass die nativen Code verwendet? –
Tut mir leid, MatthieuF, mir war nicht klar, dass du die ältere Version benutzt hast. Das sollte okay sein. – Rob