User Tools

Site Tools


java:packages:dir_structure

This is an old revision of the document!


Δομή των αρχείων 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 για τα εκτελέσιμα αρχεία. Τελικά, έχουμε τους καταλόγους

CE325/Homework1/src
CE325/Homework1/build

Προκειμένου να μεταγλωττίσουμε την κλάση gr.uth.inf.ce325.homework1.Test, αυτή θα πρέπει να βρίσκεται στον κατάλογο gr/uth/inf/ce325/homework1/ μέσα στον φάκελο src, δηλαδή συνολικά θα έχουμε.

CE325/Homework1/src/gr/uth/inf/ce325/homework1/Test.java

Η παραπάνω κλάση μεταγλωττίζεται με μία δήλωση της μορφής

cd CE325/Homework1/
javac -d ./build/ src/gr/uth/inf/ce325/homework1/Test.java 

To directive -d ./build/ δείχνει που θέλουμε να τοποθετήσουμε τελικά τα εκτελέσιμα αρχεία *.class. Η τελική θέση του εκτελέσιμου Test.class είναι build/gr/uth/inf/ce325/homework1/Test.class. O java compiler φτιάχνει την δομή καταλόγου των αρχείων .class αυτόματα (δεν χρειάζεται να το κάνετε εσείς) με βάση την δομή των αρχείων .java.

Προηγούμενο: Χρήση πακέτων Επόμενο:
java/packages/dir_structure.1421994859.txt.gz · Last modified: 2015/01/23 06:34 (external edit)