User Tools

Site Tools


java:jar_files

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:jar_files [2015/02/18 13:52] – [Εκτελώντας λογισμικό σε αρχεία JAR] gthanosjava:jar_files [2022/02/24 14:05] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Αρχεία Java Archive (JAR) ====== ====== Αρχεία Java Archive (JAR) ======
 +
 +<WRAP important 60% center round>
 +===Η συγκεκριμένη ενότητα είναι προαιρετική και μπορείτε να την παραλήψετε κατά την ανάγνωση της θεωρείας του μαθήματος.===
 +</WRAP>
  
 Τα αρχεία JAR μας δίνουν την δυνατότητα να ομαδοποιήσουμε πολλαπλά αρχεία **.class** σε ένα αρχείο (archive). Ένα αρχείο JAR περιέχει σε συμπιεσμένη μορφή τα εξής: Τα αρχεία JAR μας δίνουν την δυνατότητα να ομαδοποιήσουμε πολλαπλά αρχεία **.class** σε ένα αρχείο (archive). Ένα αρχείο JAR περιέχει σε συμπιεσμένη μορφή τα εξής:
Line 6: Line 10:
   - Το αρχείο MANIFEST.MF για το οποίο θα μιλήσουμε στη συνέχεια.   - Το αρχείο MANIFEST.MF για το οποίο θα μιλήσουμε στη συνέχεια.
  
-Το βασικό πλεονέκτημα των αρχείων JAR είναι ότι αντικαθιστούν πολύπλοκες ιεραρχίες πακέτων και κλάσεων με ένα μόνο αρχείο. Επίσης, το αρχεία JAR είναι συμπιεσμένα, επομένως καταλαμβάνουν λιγότερο χωρο και μεταφέρονται πιο γρήγορα όταν πρόκειται για web applications. Παρακάτω θα δούμε πως δημιουργούμε ή μεταβάλουμε JAR αρχεία και θα εξηγήσουμε τι είναι το MANIFEST.MF αρχείο και γιατί χρησιμοποιείται.+Το βασικό πλεονέκτημα των αρχείων JAR είναι ότι αντικαθιστούν πολύπλοκες ιεραρχίες πακέτων και κλάσεων με ένα μόνο αρχείο. Επίσης, τα αρχεία JAR είναι συμπιεσμένα, επομένως καταλαμβάνουν λιγότερο χώρο και μεταφέρονται πιο γρήγορα όταν πρόκειται για web applications. Παρακάτω θα δούμε πώς δημιουργούμε ή μεταβάλουμε JAR αρχεία και θα εξηγήσουμε τι είναι το MANIFEST.MF αρχείο και γιατί χρησιμοποιείται.
  
 ===== Δημιουργία JAR files ===== ===== Δημιουργία JAR files =====
Line 16: Line 20:
 </code> </code>
  
-Επανερχόμενοι στο παράδειγμα του [[homework1 του μαθήματος CE325 | :java:packages:using]], ας υποθέσουμε ότι θέλουμε να δημιουργήσουμε ένα jar αρχείο που να περιέχει όλα τα .class αρχεία. Το αρχείο αυτό θα το βάλουμε μεσα στον κατάλογο ''homework1''+Επανερχόμενοι στο παράδειγμα του [[:java:packages:using|homework1 του μαθήματος CE325]], ας υποθέσουμε ότι έχουμε όλα τα .java αρχεία σε ένα υποφάκελο src και τα .class αρχεία σε ένα υποφάκελο build. Θέλουμε να δημιουργήσουμε ένα jar αρχείο που να περιέχει όλα τα .class αρχεία. Το αρχείο αυτό θα το βάλουμε μεσα στον κατάλογο ''project''
  
 <code> <code>
-cd homework1/src+cd project/build
-jar cvf homework1.jar ./*.class +jar cvf hw1.jar ./*.class 
-mv homework1.jar ../+mv project.jar ../
 </code> </code>
  
Line 27: Line 31:
  
 <code> <code>
-cd homework1 +cd project 
-jar cvf homework1.jar -C src/ ./*.class+jar cvf project.jar -C build/ ./*.class
 </code> </code>
  
-Η παραπάνω εντολή εκτελεί την εντολή jar μέσα στο directory ''src/'' και αποθηκεύει το jar file στο αρχείο homework1. Τα υπόλοιπα options έχουν ως εξής.+Η παραπάνω εντολή εκτελεί την εντολή jar μέσα στο directory ''build/'' και αποθηκεύει το jar file στον κατάλογο project. Τα υπόλοιπα options έχουν ως εξής. 
 ^ Option ^ Περιγραφή ^ ^ Option ^ Περιγραφή ^
 | v | **Verbose:** Δείχνει ποια αρχεία προστίθενται μέσα στο jar file κατά την δημιουργία του | | v | **Verbose:** Δείχνει ποια αρχεία προστίθενται μέσα στο jar file κατά την δημιουργία του |
Line 40: Line 45:
 | C | αλλαγή του τρέχοντος καταλόγου πριν την εκτέλεση της εντολής jar | | C | αλλαγή του τρέχοντος καταλόγου πριν την εκτέλεση της εντολής jar |
  
-===== Βλέποντας τα περιεχόμενα ενος JAR file =====+===== Βλέποντας τα περιεχόμενα ενός JAR file =====
  
 Για να δείτε τα περιεχόμενα ενός JAR file αρκεί να χρησιμοποιήσετε την εντολή Για να δείτε τα περιεχόμενα ενός JAR file αρκεί να χρησιμοποιήσετε την εντολή
Line 96: Line 101:
 </code> </code>
  
-|Προηγούμενο: [[ :java:packages:using | Χρήση πακέτων ]] | Επόμενο: [[ :java:access_modifiers Περιοριστές Πρόσβασης ]]|+<WRAP tip 70% center round> 
 +Όταν εκτελούμε λογισμικό με χρήση αρχείων JAR η επιλογή --classpath δεν λαμβάνεται υπόψη. Σε αυτή την περίπτωση όλες οι βιβλιοθήκες που είναι απαραίτητες για το πρόγραμμα μας (εκτός από τις standard βιβλιοθήκες της Java) θα πρέπει να βρίσκονται μέσα στο συγκεκριμένο αρχείο JAR. 
 +</WRAP> 
 + 
 +|Προηγούμενο: [[ java:packages:using | Χρήση κλάσεων από άλλες κλάσεις ]] | [[ :toc | Περιεχόμενα ]]  | Επόμενο: [[ :java:classpath Η μεταβλητή περιβάλλοντος CLASSPATH ]]|
java/jar_files.1424267539.txt.gz · Last modified: 2015/02/18 13:52 (external edit)