This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
java:ant [2016/02/12 13:46] gthanos |
java:ant [2016/02/24 14:21] doufexi [Windows] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Αυτόματη μεταγλώττιση με χρήση Apache Ant ====== | ====== Αυτόματη μεταγλώττιση με χρήση Apache Ant ====== | ||
- | Το [[http://ant.apache.org/|Apache Ant]] είναι ένα εργαλείο δημιουργίας διεργασιών που αλληλεξαρτούμενων μεταξύ τους με στόχο την μεταγλώττιση σύνθετων προγραμμάτων. Η λογική λειτουργίας του είναι αντίστοιχη του [[https://www.gnu.org/software/make/|GΝU Make]] και άλλων ανάλογων προγραμμάτων, περιέχει όμως χαρακτηριστικά που διευκολύνουν την διαδικασία μεταγλώττισης αρχείων JAVA. | + | Το [[http://ant.apache.org/|Apache Ant]] είναι ένα εργαλείο δημιουργίας διεργασιών αλληλεξαρτούμενων μεταξύ τους με στόχο την μεταγλώττιση σύνθετων προγραμμάτων. Η λογική λειτουργίας του είναι αντίστοιχη του [[https://www.gnu.org/software/make/|GΝU Make]] και άλλων ανάλογων προγραμμάτων, περιέχει όμως χαρακτηριστικά που διευκολύνουν την διαδικασία μεταγλώττισης αρχείων JAVA. |
- | Βασικά χαρακτηριστικά του [[http://ant.apache.org/|Apache Ant]] είναι ότι τα εξής: | + | Βασικά χαρακτηριστικά του [[http://ant.apache.org/|Apache Ant]] είναι ότι εξής: |
- Τα configuration/build αρχεία έχουν format [[http://www.w3schools.com/xml|XML]]. | - Τα configuration/build αρχεία έχουν format [[http://www.w3schools.com/xml|XML]]. | ||
- Το configuration αρχείο έχει όνομα **build.xml**. | - Το configuration αρχείο έχει όνομα **build.xml**. | ||
Line 27: | Line 27: | ||
===== Διάρθρωση καταλόγων αρχείων *.java και εκτελέσιμων αρχείων *.class ===== | ===== Διάρθρωση καταλόγων αρχείων *.java και εκτελέσιμων αρχείων *.class ===== | ||
- | Όπως ήδη αναφέρθηκε, μια καλή πρακτική ανάπτυξης κώδικα JAVA είναι να διαχωρίζουμε τα αρχεία πηγαίου κώδικα ***.java** σε σχέση με τα μεταγλωττισμένα αρχεία ***.class**. Για τον σκοπό αυτό σε κάθε project, δημιουργούμε δύο φακέλους **src** που περιέχει αρχεία πηγαίου κώδικα και **build** που περιέχει μεταγλωττισμένα αρχεία. Ο κατάλογος **build** μπορεί να διακριθεί στους υποκαταλόγους **build/classes** (περιέχει τα αρχεία ***.class**) και **build/jar** (περιέχει τα αρχεία JAR, εφόσον υπάρχουν). Συνολικά η προτεινόμενη δομή καταλόγων είναι η εξής: | + | Όπως ήδη αναφέρθηκε, μια καλή πρακτική ανάπτυξης κώδικα JAVA είναι να διαχωρίζουμε τα αρχεία πηγαίου κώδικα ***.java** σε σχέση με τα μεταγλωττισμένα αρχεία ***.class**. Για τον σκοπό αυτό σε κάθε project, δημιουργούμε δύο φακέλους, **src** που περιέχει αρχεία πηγαίου κώδικα και **build** που περιέχει μεταγλωττισμένα αρχεία. Ο κατάλογος **build** μπορεί να διακριθεί στους υποκαταλόγους **build/classes** (περιέχει τα αρχεία ***.class**) και **build/jar** (περιέχει τα αρχεία JAR, εφόσον υπάρχουν). Συνολικά η προτεινόμενη δομή καταλόγων είναι η εξής: |
- | * **src** --> πηγαίως κώδικας | + | * **src** --> πηγαίoς κώδικας |
* **build/classes** --> αρχεία *.class | * **build/classes** --> αρχεία *.class | ||
* **build/jar** --> αρχεία *.jar | * **build/jar** --> αρχεία *.jar | ||
Line 51: | Line 51: | ||
<target name="jar" depends="build"> | <target name="jar" depends="build"> | ||
- | <jar destfile="build/jar/ce210library.jar" basedir="build/classes" includes="ce210/**" excludes="ce210/temp/**"> | + | <jar destfile="build/jar/ce325library.jar" basedir="build/classes" includes="ce325/**" excludes="ce210/temp/**"> |
</jar> | </jar> | ||
</target> | </target> | ||
Line 78: | Line 78: | ||
Εγκατάσταση της εφαρμογής [[https://code.google.com/p/winant/|winant]]. | Εγκατάσταση της εφαρμογής [[https://code.google.com/p/winant/|winant]]. | ||
- | |Προηγούμενο: [[ :java:classpath | Η μεταβλητή περιβάλλοντος CLASSPATH ]] | | + | |Προηγούμενο: [[ :java:classpath | Η μεταβλητή περιβάλλοντος CLASSPATH ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ :java:interfaces | Διεπαφές (Interfaces) ]] | |