1

JRubyの宝石Nokogiriを動作させるのに問題があります。jirbで動作します。Mac OSXLionでJava6を実行しています。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)
4

1 に答える 1

1

DocumentBuilderFactory.newInstance(String, ClassLoader)は Java 6 の新しいメソッドです。このクラスの古いバージョンを含む別の jar がクラスパスにあるようです。jarfinder.comで、クラスを含む可能性のある jar の潜在的なリストを確認できます。プロジェクトを Eclipse で表示できる場合は、[Open Type] ダイアログを使用して、DocumentBuilderFactory クラスが含まれている jar を確認できます。

于 2011-07-22T20:34:39.030 に答える