2009-09-03 15 views
8

मैं स्कैला और जावा लिखने के लिए नेटबीन्स का उपयोग कर रहा हूं।जावा से कॉल स्कैला कोड?

नेटबीन्स ने स्कैला प्रोजेक्ट के लिए .jar फ़ाइल जेनरेट की। मैंने जावा प्रोजेक्ट में उस फ़ाइल को आयात करने का प्रयास किया। लेकिन मैं अपने जावा प्रोजेक्ट में उस .jar फ़ाइल से किसी भी वर्ग को आयात नहीं कर सका।

मैंने जावा परियोजना में स्कैला-लाइब्रेरी.जर आयात करने का भी प्रयास किया, और उस जार से कक्षाएं आयात कर सकता था।

मैं अपनी लाइब्रेरी को स्कैला में लिखना चाहता हूं, फिर एक छोटे इंटरफ़ेस का खुलासा करें जिसमें केवल जावा सामान शामिल है, फिर जावा रैपर लिखें ताकि लोग इसे जावा पैकेज के रूप में उपयोग कर सकें। क्या यह संभव है? मैं यह कैसे करुं?

बहुत बहुत धन्यवाद।

+1

यदि आपके पास गलत क्या है, यह जानने के लिए समय है, तो यहां जवाब देने में मददगार होगा। –

उत्तर

8

ऐसा करने में कोई समस्या नहीं होनी चाहिए।

  1. आपने जांच लिया है कि आपके .jar फ़ाइल वास्तव में प्रासंगिक .class फ़ाइलें हैं (जैसे WinZip या jar सुविधा का उपयोग)? (का उपयोग करने के लिए)
  2. यदि आपने सत्यापित किया है कि .class फ़ाइलें आपकी jar फ़ाइल में मौजूद हैं, तो आप जो रनटाइम त्रुटि देख रहे हैं? क्या यह NoClassDefFoundError है? यदि हां, तो class नहीं मिला? आप अपने (जावा) कोड में (स्कैला) कक्षा का जिक्र कैसे कर रहे हैं?
+0

ओह धन्यवाद। यह पता चला कि यह जावा में ज्ञान की कमी के कारण था। मैंने स्केल-लाइब्रेरी.जर के साथ अपने पैकेज की तुलना की और फिर निम्न कार्य करें: 1. सुनिश्चित करें कि सभी वर्ग और उप-पैकेज एक ही रूट पैकेज के अंतर्गत थे 2. MANIFEST.MF फ़ाइल को संपादित करें, स्केल-लाइब्रेरी.जर से एक के रूप में एक नमूना तो मैं जावा से अपने स्कैला कक्षाओं को बुला सकता था। मैं अभी भी स्पष्ट नहीं हूं कि समस्या कहां से है, लेकिन मैं जल्दबाजी में हूं। मैं बाद में पता लगाऊंगा। आपका बहुत बहुत धन्यवाद :) – Phil

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