我在让 JRuby gem Nokogiri 工作时遇到了麻烦。它适用于jirb。我在 Mac OS X Lion 上运行 Java 6。JRuby 是 1.6.3。
你知道如何解决这个问题吗?堆栈跟踪:
INFO 2011-07-22 19:12:53,520 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.DeploymentService:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Started app 'muleesb3-1.0-SNAPSHOT' +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
java.lang.NoSuchMethodError: javax.xml.parsers.DocumentBuilderFactory.newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/parsers/DocumentBuilderFactory;
at nokogiri.XmlDocument.createNewDocument(XmlDocument.java:220)
at nokogiri.XmlDocument.<init>(XmlDocument.java:96)
at nokogiri.HtmlDocument.<init>(HtmlDocument.java:57)
at nokogiri.NokogiriService$2.allocate(NokogiriService.java:239)
at nokogiri.internals.HtmlDomParserContext.wrapDocument(HtmlDomParserContext.java:121)
at nokogiri.internals.XmlDomParserContext.parse(XmlDomParserContext.java:209)
at nokogiri.HtmlDocument.do_parse(HtmlDocument.java:89)
at nokogiri.HtmlDocument.read_memory(HtmlDocument.java:117)
at nokogiri.HtmlDocument$s$0$0$read_memory.call(HtmlDocument$s$0$0$read_memory.gen:65535)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
at org.jruby.ast.FCallManyArgsNode.interpret(FCallManyArgsNode.java:60)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:272)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:80)