से एक जावा वर्ग कॉलिंग मैं JRuby से boilerpipe उपयोग करने के लिए कोशिश कर रहा हूँ। मैं JRuby से जावा फोन करने के लिए guide देखा है, और इसे सफलतापूर्वक इस्तेमाल किया है एक और जावा पैकेज के साथ, लेकिन क्यों एक ही बात boilerpipe के साथ काम नहीं कर रहा है पता नहीं कर सकते हैं।समस्याएं JRuby
मैं मूल रूप से JRuby से जावा के बराबर करने के लिए कोशिश कर रहा हूँ:
URL url = new URL("http://www.example.com/some-location/index.html");
String text = ArticleExtractor.INSTANCE.getText(url);
JRuby में यह कोशिश की:
require 'java'
url = java.net.URL.new("http://www.example.com/some-location/index.html")
text = Java::DeL3sBoilerpipeExtractors::ArticleExtractor.INSTANCE.getText(url)
यह boilerpipe के लिए API Javadocs पर आधारित है। यहां त्रुटि है:
jruby-1.6.0 :042 > Java::DeL3sBoilerpipeExtractors::ArticleExtractor
NameError: cannot load Java class deL3sBoilerpipeExtractors.ArticleExtractor
from org/jruby/javasupport/JavaClass.java:1195:in `for_name'
from org/jruby/javasupport/JavaUtilities.java:34:in `get_proxy_class'
from /usr/local/rvm/rubies/jruby-1.6.0/lib/ruby/site_ruby/shared/builtin/javasupport/java.rb:45:in `const_missing'
from (irb):42:in `evaluate'
from org/jruby/RubyKernel.java:1087:in `eval'
from /usr/local/rvm/rubies/jruby-1.6.0/lib/ruby/1.8/irb.rb:158:in `eval_input'
from /usr/local/rvm/rubies/jruby-1.6.0/lib/ruby/1.8/irb.rb:271:in `signal_status'
from /usr/local/rvm/rubies/jruby-1.6.0/lib/ruby/1.8/irb.rb:270:in `signal_status'
from /usr/local/rvm/rubies/jruby-1.6.0/lib/ruby/1.8/irb.rb:155:in `eval_input'
from org/jruby/RubyKernel.java:1417:in `loop'
from org/jruby/RubyKernel.java:1190:in `catch'
from /usr/local/rvm/rubies/jruby-1.6.0/lib/ruby/1.8/irb.rb:154:in `eval_input'
from /usr/local/rvm/rubies/jruby-1.6.0/lib/ruby/1.8/irb.rb:71:in `start'
from org/jruby/RubyKernel.java:1190:in `catch'
from /usr/local/rvm/rubies/jruby-1.6.0/lib/ruby/1.8/irb.rb:70:in `start'
from /usr/local/rvm/rubies/jruby-1.6.0/bin/irb:17:in `(root)'
ऐसा लगता है कि यह उचित जावा पैकेज नाम में कैमेलकेस को पार्स नहीं करता है। मैं क्या गलत कर रहा हूं? मेरा मानना है कि मैं अपने classpath ठीक (पिछले 3 प्रविष्टियों) सेट कर लेते हैं, हालांकि वहां xerces संभवतः दो बार शामिल किया जा रहा के साथ कुछ संघर्ष हो सकता है:
$ echo $CLASSPATH
:/jellly/Maui1.2:/jellly/Maui1.2/src:/jellly/Maui1.2/bin:/jellly/Maui1.2/lib/commons-io-1.4.jar:/jellly/Maui1.2/lib/commons-logging.jar:/jellly/Maui1.2/lib/icu4j_3_4.jar:/jellly/Maui1.2/lib/iri.jar:/jellly/Maui1.2/lib/jena.jar:/jellly/Maui1.2/lib/maxent-2.4.0.jar:/jellly/Maui1.2/lib/mysql-connector-java-3.1.13-bin.jar:/jellly/Maui1.2/lib/opennlp-tools-1.3.0.jar:/jellly/Maui1.2/lib/snowball.jar:/jellly/Maui1.2/lib/trove.jar:/jellly/Maui1.2/lib/weka.jar:/jellly/Maui1.2/lib/wikipediaminer1.1.jar:/jellly/Maui1.2/lib/xercesImpl.jar:/jellly/boilerpipe-1.1.0/boilerpipe-1.1.0.jar:/jellly/boilerpipe-1.1.0/lib/nekohtml-1.9.13.jar:/jellly/boilerpipe-1.1.0/lib/xerces-2.9.1.jar
धन्यवाद चार्ल्स का शुद्ध माणिक कार्यान्वयन लपेटता उपयोग कर सकते हैं, एक आकर्षण की तरह काम किया! – ehsanul
"de.l3s" से शुरू होने वाले पैकेज बनाने के लिए क्षमा करें। L3S कंपनी/अनुसंधान केन्द्र के नाम पर मैं जब boilerpipe पुस्तकालय [http://www.L3S.de/](http://www.L3S.de/) –
आप StackOverflow प्यार होगा विकसित करने के लिए काम कर रहा था है। JRuby से लाइब्रेरी का उपयोग करने के बारे में एक प्रश्न पूछें और आपको जेआरबी के मुख्य डेवलपर और लाइब्रेरी के निर्माता का जवाब मिल जाएगा! (प्रश्न पूछने के 6 मिनट के भीतर, कम नहीं।) –