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/01/23 04:56]
gthanos
java:packages:dir_structure [2016/02/26 11:15]
Line 1: Line 1:
-====== Δομή των αρχείων 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''​. 
java/packages/dir_structure.txt · Last modified: 2016/02/26 11:15 (external edit)