2011-02-15 18 views
10

मैं जीएसआरएड प्रोजेक्ट से जावा कोड को हुक करने के लिए आर का उपयोग करने की कोशिश कर रहा हूं। जीएसआरएड जावा कोड available online है और One-Jar प्रोजेक्ट जार के रूप में आता है (मैं आज तक वन-जार से परिचित नहीं था)। मैं सिर्फ dandy निम्न आदेश का उपयोग कर (ऊपर के लिंक से फ़ाइल अनज़िप करने के बाद) एक-जार फ़ाइल चला सकते हैं:किसी तीसरे पक्ष को कॉल करने के लिए आरजेएवी का उपयोग करके निराशा जावा जार

java -jar gsrad_sample.jar 

जब मैं gsrad_sample.jar फ़ाइल मैं शीर्षक clima_GSRAD-1.0 एक जार देखने को खोलने के पॉप। पर

library(rJava) 
.jinit() 
.jaddClassPath("/home/jal/Documents/DSSAT/gsrad/clima_GSRAD-1.0.0.jar") 
.jnew("cra/clima/gsrad/GSRBristowCampbellStrategy") 

कोई युक्ति: जो वर्ग फ़ाइलों मैं आर के साथ हुक करना चाहते हैं/lib/निर्देशिका में 0.jar मैं अपने स्नेह के जार बाहर निकाला गया है और कोशिश की निम्नलिखित, कोई लाभ नहीं हुआ मैं clima_GSRAD-1.0.0.jar के अंदर कक्षाओं को कैसे हुक सकता हूं? मैं flummoxed हूँ।

संपादित

GSRad साइट पंजीकरण जो कष्टप्रद है की आवश्यकता है। जावा ज़िप के साथ-साथ वन-जार जार फ़ाइल के लिए डॉक्सिजन प्रलेखन वाली पूर्ण ज़िप फ़ाइल here उपलब्ध है और यदि आप पॉप को खोलते हैं जिसमें कक्षाएं हैं जिन्हें मैं हुक करना चाहता हूं this one है।

उत्तर

8

मुझे यह कहकर मेरे जवाब का प्रस्ताव दें कि मैं जावा/आरजेवा में कोई विशेषज्ञ नहीं हूं, इसलिए क्षमा करें यदि यह 100% सही नहीं है। मुझे उम्मीद है कि यह सही दिशा में एक कदम है हालांकि।

gsrad_sample.jar से C:/gsrad को अनजिप करके प्रारंभ करें (या जहां आप इसे अनजिप करते हैं उसके आधार पर अपने पथ समायोजित करें)। तब सभी अपनी कक्षा पथ के लिए C:/gsrad/lib की सामग्री को जोड़ें:

library(rJava) 
.jinit() 
.jaddClassPath(dir("C:/gsrad/lib", full.names=TRUE)) 
.jclassPath() 
.jnew("cra/clima/gsrad/GSRBristowCampbellStrategy") 
+2

काश मैं की तुलना में इस दूसरे से कुछ सीख सकता है, "classpath को एक उच्च शाखा जोड़ने जब चीजें काम नहीं करते प्रयास करें।" क्लासपाथ मेरे लिए रहस्यमय मंत्रों की तरह लगते हैं। –

+0

@ जेडी लांग: यह भी हो सकता है कि जिस वर्ग का आप उपयोग करना चाहते थे वह उन अन्य जार फ़ाइलों में कक्षाओं पर निर्भर था। –

+1

यह मेरा संदेह भी है। लेकिन यह मुझे परेशान सवाल के साथ छोड़ देता है, "मैं कैसे जान सकता था ... परीक्षण और त्रुटि के अलावा?" –

संबंधित मुद्दे

 संबंधित मुद्दे