2013-02-17 44 views
5

मेरा गेम इंजन ज्योथन और जावा का संयोजन है, इसलिए मैं क्लासफ़ाइल के बजाय एक पायथन स्क्रिप्ट के साथ एक जार निष्पादित कर रहा हूं।जावॉ अभी भी एक कंसोल विंडो बनाता है; ऐसा क्यों है?

java -jar Jython.jar init.py 

हालांकि, जब मैं "जावा" को "जावा" में बदलता हूं तो यह सामान्य रूप से कंसोल को छिपाता नहीं है। यह क्यों है और इसके आसपास काम करने का कोई तरीका है?

+4

बस एक अनुमान: अपने 'java' /' javaw' आदेश एक बैच फ़ाइल में ही सांत्वना के लिए जिम्मेदार है कि में लाइन है? – zigg

+0

वैसे यह एक बैच फ़ाइल चला रहा है, लेकिन यह कोड निष्पादित करने का मेरा एकमात्र तरीका है, इसलिए यदि ऐसा क्यों नहीं होता है तो मैं बस इसके साथ रहूंगा। – Luft

+0

मैंने बस बैच फ़ाइल के बजाय cmd से इसका परीक्षण किया और समस्या बनी रहती है। विचार? – Luft

उत्तर

3

मुझे नहीं लगता कि जावाकंसोल java.exe बनाम javaw.exe का एक फ़ंक्शन है। अंतर java.exe stdout & stderr SystemConsole पर लिखता है और javaw.exe बिना सिस्टम और कंसोल पर stdout और stderr writting के चलाता है। Java.exe चलाना ब्लॉक होगा क्योंकि यह SystemConsole से जुड़ा हुआ है। चल रहा है javaw.exe लॉन्चिंग सिस्टमकंसोल (या स्क्रिप्ट) पर नियंत्रण लौटाएगा और सिस्टम कंसोल के बिना चलना जारी रखेगा।

जावा नियंत्रण कक्ष या टास्क बार पर जावा आइकन का उपयोग कर JavaConsole अक्षम करें।

from the java control panel

from the task bar java icon