java:packages:dir_structure
Differences
This shows you the differences between two versions of the page.
|
|
|
java:packages:dir_structure [2015/01/23 04:58] gthanos |
java:packages:dir_structure [2020/02/11 10:04] |
| ====== Δομή των αρχείων Java ====== | |
| |
| Μέχρι τώρα είδαμε ότι κάθε κλάση στη Java αποτελεί ένα ξεχωριστό αρχείο. Για παράδειγμα η κλάση ''myFirstClass'' θα βρίσκεται στο αρχείο με το όνομα ''myFirstClass.java''. Η εισαγωγή των πακέτων στην γλώσσα Java, εκτός από την ονοματοδοσία των αρχείων καθορίζει και τον κατάλογο (directory) μέσα στο οποίο θα πρέπει να βρίσκονται. | |
| |
| Ως παράδειγμα, θα θεωρήσουμε ξανά την κλάση Test του homework1 του τρέχοντος μαθήματος (CE325). Με βάση τα παραπάνω διαμορφώνεται το πακέτο με όνομα ''gr.uth.inf.ce325.homework1'' μέσα στο οποίο βρίσκεται η κλάση ''Test''. | |
| |
| Ας θεωρήσουμε επίσης ότι το homework1 είναι ένα ξεχωριστό project που βρίσκεται μέσα στον κατάλογο ''CE325/Homework1/'' (ο οποίος με την σειρά του βρίσκεται σε ένα τυχαίο μονοπάτι του filesystem). Ιδανικά θα θέλαμε να διαχωρίσουμε τα αρχεία πηγαίου κώδικα **.java** από τα εκτελέσιμα αρχεια **.class**. Για τον λόγο αυτό δημιουργούμε δύο υποκαταλόγους ''src'' για τον πηγαίο κώδικα και ''build'' για τα εκτελέσιμα αρχεία. Τελικά, έχουμε τους καταλόγους | |
| |
| <code> | |
| CE325/Homework1/src | |
| CE325/Homework1/build | |
| </code> | |
| |
| Προκειμένου να μεταγλωττίσουμε την κλάση ''gr.uth.inf.ce325.homework1.Test'', αυτή θα πρέπει να βρίσκεται στον κατάλογο ''gr/uth/inf/ce325/homework1/'' μέσα στον φάκελο ''src'', δηλαδή συνολικά θα έχουμε. | |
| |
| <code> | |
| CE325/Homework1/src/gr/uth/inf/ce325/homework1/Test.java | |
| </code> | |
| |
| Η παραπάνω κλάση μεταγλωττίζεται με μία δήλωση της μορφής | |
| |
| <code> | |
| cd CE325/Homework1/ | |
| javac -d ./build/ src/gr/uth/inf/ce325/homework1/Test.java | |
| </code> | |
| |
| To directive ''-d ./build/'' δείχνει που θέλουμε να τοποθετήσουμε τελικά τα εκτελέσιμα αρχεία ''*.class''. | |
| Η τελική θέση του εκτελέσιμου **Test.class** είναι ''build/gr/uth/inf/ce325/homework1/Test.class''. O java compiler φτιάχνει την δομή καταλόγου των αρχείων **.class** αυτόματα (δεν χρειάζεται να το κάνετε εσείς) με βάση την δομή των αρχείων **.java**. | |
java/packages/dir_structure.txt · Last modified: 2020/02/11 10:04 (external edit)