JAR εναντίον ΠΟΛΕΜΟΥ
Το JAR και WAR είναι δύο τύποι αρχειοθέτησης αρχείων. Πιο σωστά, ένα αρχείο WAR είναι επίσης ένα αρχείο JAR, αλλά χρησιμοποιούνται για διαφορετικούς σκοπούς. Τα αρχεία JAR είναι σαν γνωστά αρχεία ZIP. Θα μπορούσαν να χρησιμοποιηθούν για οποιαδήποτε αρχειοθέτηση γενικού σκοπού, αλλά η πιο δημοφιλής χρήση των αρχείων JAR είναι η χρήση τους ως κοντέινερ για αρχεία κλάσης Java και αρχεία πόρων που συνθέτουν μια εφαρμογή java. Τα αρχεία WAR χρησιμοποιούνται ειδικά για την ανάπτυξη εφαρμογών web.
Τι είναι το JAR;
Το JAR (Java ARchive) είναι ένα αρχείο αρχείων που φέρει πολλά άλλα αρχεία. Τα αρχεία JAR χρησιμοποιούνται συνήθως από προγραμματιστές Java για τη διανομή εφαρμογών Java ή βιβλιοθήκες Java χρησιμοποιώντας τα αρχεία JAR ως κοντέινερ για τα αρχεία κλάσης Java και τα αντίστοιχα αρχεία πόρων (π.μι. κείμενο, ήχος, βίντεο κ.λπ.). Η γνωστή μορφή αρχειοθέτησης αρχείων ZIP είναι η βάση πάνω στην οποία βασίζεται το αρχείο JAR. Οι χρήστες μπορούν είτε να χρησιμοποιήσουν την εντολή jar του JDK (Java Development Kit) είτε το κανονικό λογισμικό ZIP για την εξαγωγή των περιεχομένων των αρχείων JAR. Τα αρχεία JAR είναι ένας πολύ βολικός τρόπος λήψης μιας ολόκληρης εφαρμογής Ιστού σε ένα μόνο αρχείο, χωρίς να χρειάζεται να κάνετε λήψη όλων των αρχείων που απαρτίζουν την εφαρμογή Ιστού ξεχωριστά. Για να διαβάσουν/εγγράψουν αρχεία JAR, οι προγραμματιστές Java χρησιμοποιούν τις κλάσεις που περιέχονται στο πακέτο java.util.zip. Εάν το αρχείο JAR υποτίθεται ότι εκτελείται ως αυτόνομη εφαρμογή, τότε μία από τις κλάσεις θα καθοριστεί ως η «κύρια» κλάση στις καταχωρίσεις του αρχείου δήλωσης. Τα εκτελέσιμα αρχεία JAR μπορούν να εκτελεστούν χρησιμοποιώντας την εντολή java με το χαρακτηριστικό jar (δηλ. java -jar foo.jar).
Τι είναι ΠΟΛΕΜΟΣ;
WAR (Web Application aArchive) είναι ένα αρχείο JAR που χρησιμοποιείται ως κοντέινερ για μια ομάδα αρχείων πόρων εφαρμογών Ιστού (που αποτελούν μια εφαρμογή Ιστού) όπως JSP (Σελίδες διακομιστή Java), servlets, αρχεία κλάσης, XML αρχεία και ιστοσελίδες (HTML). Τα αρχεία WAR αναγνωρίζονται από την επέκταση αρχείου.war. Αναπτύχθηκαν από την Sun Microsystems (πρωτότυποι προγραμματιστές της γλώσσας προγραμματισμού Java). Οι ψηφιακές υπογραφές που χρησιμοποιούνται σε αρχεία JAR (για την ανάθεση του κωδικού) μπορούν να χρησιμοποιηθούν και σε αρχεία WAR.
Ένα αρχείο WAR οργανώνεται εσωτερικά σε μια ιεραρχία ειδικών καταλόγων. Η δομή της εφαρμογής Ιστού που περιέχεται στο αρχείο WAR ορίζεται στο αρχείο web.xml (το οποίο βρίσκεται μέσα στον κατάλογο /WEB-INF). Το Web.xml περιγράφει επίσης ποια διεύθυνση URL είναι συνδεδεμένη με ποιο servlet. Καθορίζουν επίσης τις μεταβλητές που είναι προσβάσιμες μέσα στο servelet και τις εξαρτήσεις που πρέπει να ρυθμιστούν. Ωστόσο, εάν το αρχείο WAR περιέχει μόνο αρχεία JSP, τότε το αρχείο web.xml είναι προαιρετικό.
Ποια είναι η διαφορά μεταξύ JAR και WAR;
Τα αρχεία JAR έχουν την επέκταση αρχείου.jar, ενώ τα αρχεία WAR έχουν την επέκταση.war. Ωστόσο, ένα αρχείο WAR είναι ένας συγκεκριμένος τύπος αρχείου JAR. Τα αρχεία JAR περιέχουν αρχεία κλάσης, βιβλιοθήκες, πόρους και αρχεία ιδιοτήτων. Τα αρχεία WAR περιέχουν servlets, σελίδες JSP, σελίδες HTML, κωδικοποίηση JavaScript. Τα αρχεία JAR χρησιμοποιούνται για την αρχειοθέτηση μιας ολόκληρης εφαρμογής Java (επιτραπέζιου υπολογιστή), ενώ τα αρχεία WAR για την ανάπτυξη εφαρμογών ιστού.