नोट: मुझे समाधान मिला और मैंने जवाब दिया। हालांकि, मुझे नहीं पता कि यह सेटिंग गलत क्यों थी और समस्या का कारण बन गया। मुझे अभी भी ज्योथन आयात प्रणाली कैसे काम करती है, इस बारे में अच्छी व्याख्या करने में दिलचस्पी है; अगर कोई बक्षीस हासिल करने की परवाह करता है तो कृपया इसका उत्तर दें।जेथॉन मॉड्यूल से जावा कक्षाओं को आयात करने में असमर्थ
मैं मौजूदा जावा ईई प्रोजेक्ट पर काम कर रहा हूं जहां मुझे पायथन में कंप्यूटेशंस करने की आवश्यकता है। मैं एकीकरण परीक्षण के पहले चरण में हूं लेकिन मुझे पहले से ही एक समस्या का सामना करना पड़ रहा है। मैंने Chapter 10 of Jython book पढ़ा लेकिन अभी भी समाधान नहीं मिल रहा है। मैंने Chapter 8 (कोड पुन: उपयोग के लिए मॉड्यूल और पैकेज) भी पढ़ा लेकिन मेरे लिए यह अस्पष्ट है।
ज्योथन आयात प्रणाली कैसे काम करती है और इसे कॉन्फ़िगर करने के तरीके के बारे में एक स्पष्टीकरण की सराहना की जाएगी।
समस्या:
$ jython -v
import: 'exceptions' as org.python.core.exceptions in builtin modules
Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:54:35)
[Java HotSpot(TM) Server VM (Oracle Corporation)] on java1.7.0_10
import: import site # precompiled from /home/me/jython/2.5.3/Lib/site$py.class
import: 'sys' as sys in builtin modules
import: import os # precompiled from /home/me/jython/2.5.3/Lib/os$py.class
import: 'errno' as org.python.modules.errno in builtin modules
import: 'posix' as org.python.modules.posix.PosixModule in builtin modules
import: import posixpath # precompiled from /home/me/jython/2.5.3/Lib/posixpath$py.class
import: import stat # precompiled from /home/me/jython/2.5.3/Lib/stat$py.class
import: 'java' as java package
import: 'File' as java class
import: 'IOException' as java class
import: 'org' as java package
import: 'Py' as java class
Type "help", "copyright", "credits" or "license" for more information.
>>> import pendulum.generator.BuildingType
import: import pendulum # precompiled from /path/to/project/build/classes/pendulum/__init__$py.class
import: import pendulum.generator # precompiled from /path/to/project/build/classes/pendulum/generator/__init__$py.class
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named BuildingType
मेरा प्रश्न है: क्या मैं गलत कर रहा हूँ और मैं चीजों को BuildingType इंटरफ़ेस आयात करने के लिए सफलतापूर्वक कैसे ठीक करूं? शायद समस्या क्लास्स्पैट में खड़ी है, लेकिन मुझे नहीं पता कि कौन सा मूल्य उपयुक्त हो सकता है।
कोड संगठन:
$ tree build/classes/pendulum/generator/ src/pendulum/generator/
build/classes/pendulum/generator/
├── BuildingType.class
├── __init__.py
└── __init__$py.class
src/pendulum/generator/
├── BuildingType.java
└── __init__.py
आयात पथ एक private Jython registry file द्वारा परिभाषित:
$ cat ~/.jython
python.path=\
/path/to/project/build/classes:\
/path/to/project/src:\
/home/me/jdevel/extras/2.5.3/Lib:\
/home/me/jdevel/extras/2.5.3/Lib/site-packages
मुझे यकीन है कि Jython रास्तों को चुनता है, क्योंकि मैं sys.path
साथ की जाँच की है कि कर रहा हूँ ज्योथन प्रॉम्प्ट पर।
BuildingType.java
package pendulum.generator;
public interface BuildingType {
public String getBuildingName();
public String getBuildingAddress();
public String getBuildingId();
}
"पेंडुलम से" आज़माएं।जेनरेटर आयात बिल्डिंग टाइप " – sarwar
आयात त्रुटि: नाम आयात नहीं कर सकता बिल्डिंग टाइप – Paolo
jython.jar jre/lib/ext में है? –