मैं जावा संकलन के बारे में हुड के नीचे देखने की कोशिश कर रहा हूं। तो मैं अपने आईडीई दूर किया और MS-DOS कमांड लाइन का उपयोग शुरू किया ...जावा कंपाइलर क्लास फ़ाइलों को कैसे ढूंढता है जबकि क्लासपाथ jdk पथ पर सेट नहीं है?
मैं नीचे पेड़ में वर्णित के रूप में एक सरल प्रोजेक्ट बनाया,:
SampleApp
|____**src**
|_____pack
|______Sample.java
|____**classes**
यह Sample.java स्रोत कोड है:
public class Sample
{
private String s = new String("Hello, world");
public Sample(){
System.out.println(s);
}
}
मैं सिर्फ इस वर्ग के संकलन करना चाहते हैं, तो मैं javac आदेश का प्रयोग किया:
prompt\SampleApp\src>javac -d ..\classes -sourcepath . pack\Sample.java
सभी ठीक काम करते हैं, लेकिन मुझे इसकी उम्मीद नहीं थी क्योंकि मैंने अपनी नमूना.जावा फ़ाइल को संकलित करने से पहले CLASSPATH
पर्यावरण चर हटा दिया था। तो मैं इस तथ्य के कारण एक कंपाइलर त्रुटि की उम्मीद कर रहा था कि संकलक java.lang.String क्लास फ़ाइल नहीं ढूंढ पाएगा।
मैंने इस आलेख को http://www.ibm.com/developerworks/java/library/j-classpath-windows/ पढ़ा जिसने मुझे कई चीजों को समझने में मदद की। आलेख लेखक का कहना है कि डिफ़ॉल्ट क्लासपाथ वर्तमान कार्यशील निर्देशिका है। लेकिन मुझे समझ में नहीं आता कि मेरा स्रोत कोड बिना त्रुटि के संकलित क्यों है। क्या कोई मुझे यह समझा सकता है?
आपके उत्तर के लिए धन्यवाद। यह वास्तव में मेरी मदद करता है! मैं bootclasspath के बारे में और जानकारी के लिए देखता हूँ। –