2015-04-03 10 views

उत्तर

4

वे एक ही कर रहे हैं, की जाँच http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html

-classpath classpath -cp classpath निर्देशिका, जार फ़ाइलों की सूची निर्दिष्ट, और वर्ग फ़ाइलों के लिए खोज करने के लिए अभिलेखागार ज़िप। अर्धविराम (;) के साथ अलग वर्ग पथ प्रविष्टियां। निर्दिष्ट-क्लासपाथ या -सीपी क्लासस्पैट पर्यावरण परिवर्तक की किसी भी सेटिंग को ओवरराइड करता है।

यदि -classpath और -cp का उपयोग नहीं किया जाता है और क्लासस्पैट सेट नहीं है, तो उपयोगकर्ता श्रेणी पथ में वर्तमान निर्देशिका (।) शामिल है।

एक विशेष सुविधा के रूप में, एक क्लास पथ तत्व जिसमें आधार * नाम शामिल है, को विस्तार के साथ निर्देशिका में सभी फ़ाइलों की सूची निर्दिष्ट करने के बराबर माना जाता है .jar या .JAR। एक जावा प्रोग्राम दो आमंत्रणों के बीच अंतर नहीं बता सकता है। b.JAR, कि छोड़कर जार फ़ाइलों के आदेश अनिर्दिष्ट है:

उदाहरण के लिए, यदि निर्देशिका mydir a.jar और b.JAR होता है, तो वर्ग पथ तत्व mydir/* एक A.jar करने के लिए विस्तारित किया गया है । निर्दिष्ट निर्देशिका, यहां तक ​​कि छिपे हुए सभी में सभी जार फ़ाइलों को सूची में शामिल किया गया है। एक क्लास पथ प्रविष्टि केवल * में सभी जार फ़ाइलों की सूची में विस्तारित है। क्लासस्पैट पर्यावरण चर, जहां परिभाषित किया गया है, समान रूप से विस्तारित किया जाएगा। जावा वीएम शुरू होने से पहले किसी भी वर्ग पथ वाइल्डकार्ड विस्तार होता है। कोई जावा प्रोग्राम कभी भी जंगली कार्ड नहीं देखेगा जो पर्यावरण से पूछताछ के अलावा विस्तारित नहीं हैं। उदाहरण के लिए, System.getenv ("क्लासस्पैट") को कॉल करके।

2

बिल्कुल कोई अंतर नहीं है। यह सिर्फ जावा कंपाइलर को बताता है कि आप कमांड लाइन तर्क पर निर्दिष्ट कस्टम क्लासपाथ का उपयोग करना चाहते हैं।

तो -cp और -classpath पूरी तरह से समकक्ष हैं।

आप javac - Java programming language compiler पृष्ठ पर और जानकारी प्राप्त कर सकते हैं।

1

कोई नहीं है। वे क्लासपाथ सेट करने के लिए दोनों विकल्प हैं। man page देखें।

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