שאלה ב-java

dubby25

New member
שאלה ב-java

בס"ד שלום אני מתכנת בג'אווה בלינוקס. יש לי בעיה עם המשתנה CLASSPATH, שהוא לא מוגדר עבור הספרייה שבה אני עובד, זאת אומרת, שאם יש לי שני קבצים מאותה ספריה, אני לא יכול להשתמש במחלקות של קובץ אחד, בקובץ השני. בררתי מה לעשות , ומצאתי שאני יכול בהפעלת הפקודה כל פעם להגדיר את המשתנה הזה. לדוגמא:
javac a.java -classpath path1;path2​
הענין הוא שאם אני רושם:
javac a.java -classpath .​
אני יכול להתייחס לספרייה הנוכחית, אבל הוא לא מכיר את כל המחלקות הבסיסיות של ג'אווה. כשניסיתי לקמפל בלי ההוספה הזו, הקומפיילר לא זיהה את המחלקה שבקובץ השני, וכשכן הוספתי את זה, הקומפיילר לא התלונן על הקובץ השני, אבל כן התלונן שהוא לא מכיר את String. אני מבין א"כ שצריך להוסיף את כל המחלקות ל-CLASSPATH. השאלה שלי היא: איפה זה נמצא? לא מצאתי את זה באף ספריה. תודה רבה מראש
 

roterl

New member
אם איזהSHELL אתה עובד?

אם אתה עם BASH: CLASSPATH=$CLASSPATH:path1:path2 אם אתה עם TCSH: setenv CLASSPATH $CLASSPATH:path1:path2 כאשר path1, path2, ... הם הסיפריות שבהם יושבים הקבצים. אם אתה רוצה לכלול את הקבצים שבספרייה הנוכחית תוסיף בסוף .: (נקודה) * כדי להפוך את השינוי לקבוע תוסיף זאת בקובץ ההגדרות המתאים
 
תגדיר JAVA_HOME

תגדיר משתנה סביבה בשם JAVA_HOME שיכוון למיקום של ה JDK. אחרי זה אם תוסיף את "." ל CLASSPATH הוא יזהה את הספרייה הנוכחית ואת הJDK.
 
למעלה