הממממ ../images/Emo13.gif
ה-CP הוא הדרך של ג'אווה למצוא CLASSים ודברים אחרים. כלומר, אם אתה משתמש בתוכנית שלך במחלקה מסוימת, ג'אווה חייבת לדעת למצוא אותה. יש CP עבור קומפילציה. שם אתה אומר ל-JAVAC איפה למצוא את קובצי המקור של המחלקות שאתה משתמש בהן, אם הן לא נמצאות במקום טריויאלי (יש JARים מסוימים כאלו). יש CP עבור הרצה והוא ה-CP שבד"כ מדברים עליו. הוא אומר ל-JAVA (מה שמריץ את ה-JVM) איפה למצוא את קובצי ה-CLASS שמייצגים את הקוד שלך. אם אתה מריץ מתוך סביבת פיתוח אז סביר להניח שסביבת הפיתוח דואגת לתת CP שמציין איפה החבילות שייצרת. אם אתה מריץ משורת פקודה תצטרך כמובן לתת נתיב אל החבילות כדי שיהיה אפשר לטעון את המחלקות משם. באותו אופן, כשדברים נמצאים בתוך JAR מסוים אתה חייב להוסיף את ה-JAR ל-CP שלך. ואז, לפחות עבור מחלקות, כשאתה ניגש למחלקה מסוימת שנמצאת בחבילה מסוימת בתוך JAR, אין ל-JAVA בעיה. היא יודעת איך למצוא את ה-JAR והיא מוסיפה לזה את שם החבילה ומזה מקבלת את הנתיב אל המחלקה. מה שלא הבנתי זה את השימוש שעשית ב-getResource.