2013-02-27 21 views
9

क्या javac से और javajavac जावा बनाम -classpath विकल्प के भीतर

से उदाहरण के लिए -classpath विकल्प बुला में अंतर है:

javac -classpath MyJar.jar GetJar.java 
java GetJar 
:

javac -classpath MyJar.jar GetJar.java 
java -classpath MyJar.jar:. GetJar 

यह के रूप में भी काम करता है

तो मूल रूप से जहां javac से संबंधित प्रथम-क्लासपाथ वहां होना आवश्यक है, दूसरी तरफ जावा कमांड लाइन में यह ओप हो सकता है राष्ट्रीय। क्यूं कर? क्या आप जानते हैं कि किस परिस्थिति में यह अनिवार्य होगा। और सामान्य रूप से -classpath का प्रभाव javac द्वारा किया जाता है और का प्रभाव java द्वारा किया जाता है।

अग्रिम धन्यवाद।

उत्तर

10

एक संकलन के लिए उपयोग किया जाने वाला क्लासपाथ है। दूसरा वर्गपाथ चलने के लिए प्रयोग किया जाता है। और वे एक ही चीज़ होना चाहिए। संकलन प्रक्रियाओं के लिए आवश्यक कक्षाओं का समूह उन सभी वर्गों द्वारा संकलित किया जाता है जिन्हें संकलित किया जाता है। जबकि आपका रनटाइम जेएआर एक खाली मुख्य विधि और कोई निर्भरता के साथ एक स्टैंडअलोन क्लास का आह्वान कर सकता है।

बस याद रखें कि रनटाइम क्लास निर्भरताओं पर गतिशील रूप से हल किया जाता है, उर्फ ​​एक वर्ग केवल तभी लोड होता है जब इसकी आवश्यकता होती है (यह एक सामान्यीकरण है, बूट और सिस्टम कक्षा हमेशा लोड हो जाती है)।

+0

समझ गया, इस प्रकार यदि मैं कोड का एक टुकड़ा घोषित करता हूं: if (scan.nextInt()> 10) नया अन्य क्लास(); केवल अगर scan.nextInt() 10 से अधिक है, तो अन्य क्लास – Rollerball

+0

लोड किया जाएगा असल में नहीं, किसी अन्य वर्ग 'ए' के ​​भीतर किसी वर्ग 'बी' के किसी भी संदर्भ को स्वचालित रूप से कक्षा' बी 'लोड होने का कारण बन जाएगा (भले ही यह नहीं है सशर्त तर्क के कारण सीधे इस्तेमाल किया जाता है)। – Perception

1

इस दस्तावेज़ को अपने प्रश्नों

http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javac.html

-classpath का उपयोग कर हर बार एक बहुत समय लगता है काम के लिए उत्तर होते हैं। इसके बजाए, पर्यावरण चर का उपयोग करें (यदि आप जावा मेल जैसे पैकेज से निपट रहे हैं)

क्लासपाथ का उपयोग संकलन के लिए किया जाता है। Javac जावा कंपाइलर है, जहां यह आपके कोड को बाइट कोड में परिवर्तित करता है।

जब java की बात आती है तो इसका उपयोग आपकी जावा स्रोत फ़ाइल/जार चलाने के लिए किया जाता है।

+1

ऑरैकल वेबसाइट के लिंक को ठीक करें। – nbro

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