User Tools

Site Tools


java:packages:dir_structure

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

java:packages:dir_structure [2015/09/19 04:14]
gthanos
java:packages:dir_structure [2020/02/11 10:04]
Line 1: Line 1:
-====== Δομή των αρχείων Java ====== 
  
-Μέχρι τώρα είδαμε ότι κάθε κλάση στη Java αποτελεί ένα ξεχωριστό αρχείο. Για παράδειγμα η κλάση ''myFirstClass'' θα βρίσκεται στο αρχείο με το όνομα ''myFirstClass.java''. Η εισαγωγή των πακέτων στην γλώσσα Java, εκτός από την ονοματοδοσία των αρχείων καθορίζει και τον κατάλογο (directory) μέσα στο οποίο θα πρέπει να βρίσκονται. 
- 
-Ως παράδειγμα, θα θεωρήσουμε ξανά την κλάση Test του homework1 του τρέχοντος μαθήματος (JAVA). Με βάση τα παραπάνω διαμορφώνεται το πακέτο με όνομα ''gr.uth.inf.ce325.homework1'' μέσα στο οποίο βρίσκεται η κλάση ''Test''. 
- 
-Ας θεωρήσουμε επίσης ότι το project ''homework1'' είναι ένα project που βρίσκεται μέσα στον κατάλογο ''JAVA/homework1/'', σε ένα τυχαίο μονοπάτι του filesystem. Ιδανικά θα θέλαμε να διαχωρίσουμε τα αρχεία πηγαίου κώδικα **.java** από τα εκτελέσιμα αρχεια **.class**. Για τον λόγο αυτό δημιουργούμε δύο υποκαταλόγους  
-  - ''src'' για τον πηγαίο κώδικα και  
-  - ''build'' για τα εκτελέσιμα αρχεία.  
- 
-Τελικά, έχουμε τους καταλόγους  
- 
-<code> 
-JAVA/homework1/src        <-- πηγαίος κώδικας *.java 
-JAVA/homework1/build      <-- εκτελέσιμα αρχεία *.class 
-</code> 
- 
-Προκειμένου να μεταγλωττίσουμε την κλάση **gr.uth.inf.ce325.homework1.Test.java**, αυτή θα πρέπει να βρίσκεται στον κατάλογο **gr/uth/inf/ce325/homework1/** μέσα στον φάκελο **src**, δηλαδή τελικά η κλάση Test.java θα βρίσκεται στον κατάλογο 
- 
-<code> 
-JAVA/Homework1/src/gr/uth/inf/ce325/homework1/Test.java 
-</code> 
- 
-Η παραπάνω κλάση μεταγλωττίζεται με μία δήλωση της μορφής 
- 
-<code> 
-cd JAVA/Homework1/ 
-javac -d ./build/ src/gr/uth/inf/ce325/homework1/Test.java  
-</code> 
- 
-<WRAP tip 80% center round> 
-Η παράμετρος ''-d ./build/'' χρησιμοποιείται για να δηλώσουμε που θέλουμε να τοποθετήσουμε τελικά τα εκτελέσιμα αρχεία ''*.class''. Το αρχείο class θα τοποθετηθεί μέσα στον κατάλογο ''./build''. Η διάκριση 
- 
-Η τελική θέση του εκτελέσιμου **Test.class** είναι ''build/gr/uth/inf/ce325/homework1/Test.class''. O java  compiler φτιάχνει την δομή καταλόγου των αρχείων **.class** όμοια με αυτή των αρχείων πηγαίου κώδικα αυτόματα με βάση τα πακέτα στα οποία ανήκουν και δεν χρειάζεται να το κάνετε εσείς. 
-</WRAP> 
- 
-|Προηγούμενο: [[ :java:packages:using | Χρήση πακέτων ]] | Επόμενο: [[ :java:classpath | Η μεταβλητή περιβάλλοντος CLASSPATH ]] | 
java/packages/dir_structure.txt · Last modified: 2020/02/11 10:04 (external edit)