This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
java:packages:dir_structure [2016/02/12 13:09] gthanos |
java:packages:dir_structure [2016/02/26 11:15] (current) |
||
---|---|---|---|
Line 3: | Line 3: | ||
Μέχρι τώρα είδαμε ότι κάθε κλάση στη Java αποτελεί ένα ξεχωριστό αρχείο. Για παράδειγμα η κλάση ''myFirstClass'' θα βρίσκεται στο αρχείο με το όνομα ''myFirstClass.java''. Η εισαγωγή των πακέτων στην γλώσσα Java, εκτός από την ονοματοδοσία των αρχείων καθορίζει και τον κατάλογο (directory) μέσα στο οποίο θα πρέπει να βρίσκονται. | Μέχρι τώρα είδαμε ότι κάθε κλάση στη Java αποτελεί ένα ξεχωριστό αρχείο. Για παράδειγμα η κλάση ''myFirstClass'' θα βρίσκεται στο αρχείο με το όνομα ''myFirstClass.java''. Η εισαγωγή των πακέτων στην γλώσσα Java, εκτός από την ονοματοδοσία των αρχείων καθορίζει και τον κατάλογο (directory) μέσα στο οποίο θα πρέπει να βρίσκονται. | ||
- | Ως παράδειγμα, θα θεωρήσουμε ξανά την κλάση Test του homework1 του τρέχοντος μαθήματος (CE210). Με βάση τα παραπάνω διαμορφώνεται το πακέτο με όνομα ''ce210.homework1'' μέσα στο οποίο βρίσκεται η κλάση ''Test''. Η ενδεικτική κλάση **Test** δίνεται παρακάτω | + | Ως παράδειγμα, θα θεωρήσουμε ξανά την κλάση Test του homework1 του μαθήματος CE325. Με βάση τα παραπάνω διαμορφώνεται το πακέτο με όνομα ''ce325.homework1'' μέσα στο οποίο βρίσκεται η κλάση ''Test''. Η ενδεικτική κλάση **Test** δίνεται παρακάτω |
<code java Test.java> | <code java Test.java> | ||
- | package ce210.homework1; | + | package ce325.homework1; |
public class Test { | public class Test { | ||
String test; | String test; | ||
Line 25: | Line 25: | ||
</code> | </code> | ||
- | Προκειμένου να μεταγλωττίσουμε την κλάση ''ce210.homework1.Test'', αυτή θα πρέπει να βρίσκεται στον κατάλογο ''ce210/homework1/'' μέσα στον φάκελο ''src'', δηλαδή τελικά η κλάση **Test.java** θα βρίσκεται στον κατάλογο | + | Προκειμένου να μεταγλωττίσουμε την κλάση ''ce325.homework1.Test'', αυτή θα πρέπει να βρίσκεται στον κατάλογο ''ce325/homework1/'' μέσα στον φάκελο ''src'', δηλαδή τελικά η κλάση **Test.java** θα βρίσκεται στον κατάλογο |
<code> | <code> | ||
- | project1/src/ce210/homework1/Test.java | + | project1/src/ce325/homework1/Test.java |
</code> | </code> | ||
Line 35: | Line 35: | ||
<code> | <code> | ||
cd project1/ | cd project1/ | ||
- | javac -d ./build/ src/ce210/homework1/Test.java | + | javac -d ./build/ src/ce325/homework1/Test.java |
</code> | </code> | ||
<WRAP tip 80% center round> | <WRAP tip 80% center round> | ||
- | To directive ''-d ./build/'' χρησιμοποιείται για να δηλώσουμε που θέλουμε να τοποθετήσουμε τελικά τα εκτελέσιμα αρχεία ''*.class''. Η τελική θέση του εκτελέσιμου **Test.class** είναι στον κατάλογο ''project1/build''. Επειδή το μεταγλωττισμένο αρχείο θα πρέπει να βρίσκεται εσωτερικά στον κατάλογο ''ce210/homework1/'' τελικά καταλήγουμε το πλήρες path του μεταγλωττισμένου αρχείου να είναι ''project1/build/ce210/homework1/Test.class''. O java compiler φτιάχνει την δομή καταλόγου των αρχείων **.class** __αυτόματα με βάση το πακέτο στο οποίο ανήκουν__. | + | To directive ''-d ./build/'' χρησιμοποιείται για να δηλώσουμε πού θέλουμε να τοποθετήσουμε τελικά τα εκτελέσιμα αρχεία ''*.class''. Η τελική θέση του εκτελέσιμου **Test.class** είναι στον κατάλογο ''project1/build''. Επειδή το μεταγλωττισμένο αρχείο θα πρέπει να βρίσκεται εσωτερικά στον κατάλογο ''ce325/homework1/'' τελικά καταλήγουμε το πλήρες path του μεταγλωττισμένου αρχείου να είναι ''project1/build/ce325/homework1/Test.class''. O java compiler φτιάχνει την δομή καταλόγου των αρχείων **.class** __αυτόματα με βάση το πακέτο στο οποίο ανήκουν__. |
</WRAP> | </WRAP> | ||
- | |Προηγούμενο: [[ :java:packages:using | Χρήση πακέτων ]] | Επόμενο: [[ :java:jar_files | Αρχεία Java Archive (JAR) ]] | | + | |Προηγούμενο: [[ :java:packages:using | Χρήση (μεταγλωττισμένων) κλάσεων από άλλες κλάσεις ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ :java:jar_files | Αρχεία Java Archive (JAR) ]] | |