Apache Maven

ΕΝΟΤΗΤΑ 4 - Archetypes

image description

ΕΝΟΤΗΤΑ 4 - Archetypes

Στο σημερινό δωρεάν μάθημα Apache Maven, θα εξηγήσουμε τι είναι τα archetypes και ποιες είναι οι κατάλληλες εντολές για να δημιουργήσουμε ένα maven project χρησιμοποιώντας archetypes.

Ας ξεκινήσουμε πρώτα δίνοντας τον ορισμό του archetype. Όσοι από εσάς έχετε έστω και λίγη εμπειρία με java προγραμματισμό, θα έχετε σίγουρα προσέξει ότι υπάρχουν κάποιες δομικές διαφορές ανάμεσα σε ένα java project και σε ένα Java EE project. Για παράδειγμα το Java EE project απαιτεί την ύπαρξη ενός WEB-INF φακέλου κάτι που δεν είναι απαραίτητο να υπάρχει σε ένα απλό Java project. Επίσης, θα έχετε προσέξει, ότι αν και τα δύο αυτά projects έχουν κάποιες διαφορές στην δομή τους όταν τα συγκρίνουμε, πάντα όμως ξεκινάμε να τα δημιουργήσουμε με τον ίδιο τρόπο. Με άλλα λόγια η αρχική δομή δημιουργείται πάντα με τον ίδιο τρόπο. Μετά φυσικά το project θα μεγαλώσει και σε δομή και σε βιβλιοθήκες ανάλογα με τις ανάγκες του εκάστοτε project αλλά η αρχική δομή πάντα είναι η ίδια. Τι είναι λοιπόν ένα archetype? Είναι έτοιμα βασικά projects, ή ένα καλούπι (template) που μπορούμε να χρησιμοποιήσουμε για να δημιουργήσουμε την αρχική δομή ενός java project ή Java EE project. Με αυτό τον τρόπο έχουμε ένα βασικό αλλά ταυτόχρονα λειτουργικό java project πάνω στο οποίο μπορούμε να στηρίξουμε την υπόλοιπη ανάπτυξη της εφαρμογής μας. Κάθε project δημιουργημένο με apache maven archetype περιέχει όλα τα απαραίτητα αρχεία του εκάστοτε java project – standard ή enterprise.

Η κοινότητα του Apache Maven περέχει στην κυριολεξία αρκετές εκατοντάδες έτοιμα templates για διάφορα είδη project που θέλετε να δημιουργήσετε. Το Apache Maven που έχουμε εγκαταστήσει στον υπολογιστή μας, μας επιτρέπει όχι μόνο να χρησιμοποιήσουμε αυτά τα templates αλλά και να δημιουργήσουμε καινούργια. Ας ξεκινήσουμε όμως να δούμε μερικές εντολές και πως αυτές αργότερα θα συνδυαστούν με το IntelliJ.

Πριν ξεκινήσουμε, ας δημιουργήσουμε ένα φάκελο στον υπολογιστή μας μέσα στον οποίο θα αποθηκεύσουμε τα project που πρόκειται να δημιουργήσουμε σε αυτή την ενότητα σαν πρακτική. Μετά, ανοίξτε ένα καινούργιο cmd terminal και αλλάξτε το directory στο φάκελο που δημιουργήσατε.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Τώρα μπορούμε να εκτελέσουμε την εντολή mvn archetype:generate και να δούμε όλα τα templates από τα οποία μπορούμε να δημιουργήσουμε ένα καινούργιο java project.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Για να γυρίσετε πίσω στο command prompt απλά πατήστε Ctrl + C. Υπάρχει ένας πολύ μεγάλος αριθμός archetypes στο apache maven που είναι αριθμημένα, έχουν όνομα και μια σύντομη περιγραφή που εξηγεί τι είδος archetype είναι το καθένα. Για να επιλέξουμε το ένα από τα διαθέσιμα archetype δεν έχουμε παρά να επιλέξουμε έναν αριθμό και να πατήσουμε Enter. Η λίστα όμως που βλέπουμε δεν περικλείει μόνο τα βασικά archetypes που έχει να μας προσφέρει το repository του apache maven αλλά και archetypes που έχουν δημιουργήσει απλοί προγραμματιστές.

Μια καλύτερη προσέγγιση ίσως θα ήταν να φιλτράρουμε την λίστα πριν εμφανιστεί. Για να το πετύχουμε αυτό θα προσθέσουμε την επιλογή Dfilter στην archetype:generate εντολή που μόλις εκτελέσαμε. Με την συγκεκριμένη επιλογή θα ζητήσουμε να δούμε μόνο τα archetypes που έχει δημιουργήσει το apache maven και όχι οι προγραμματιστές. Εκτελούμε λοιπόν την εξής εντολή:

mvn archetype:generate -Dfilter=org.apache.maven.archetypes:

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Η προεπιλεγμένη επιλογή είναι η 9. Αν διαβάσουμε την περιγραφή θα δούμε ότι αυτό το archetype θα δημιουργήσει ένα απλό maven project. Οπότε το επιλέγουμε και πατάμε Enter.

Από τις εκδόσεις που υπάρχουν για το συγκεκριμένο archetype, επιλέγουμε την ποιο τελευταία. Επιλέγουμε 8 και πατάμε Enter.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Στο επόμενο βήμα πρέπει να ορίσουμε το groupId. Γράφουμε com.mycompany και πατάμε Enter.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Στο επόμενο βήμα θα πρέπει να ορίσουμε το artifactId. Γράφουμε το όνομα SimpleMavenProject και πατάμε Enter.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Στο επόμενο βήμα δεχόμαστε το προτεινόμενο όνομα για την έκδοση του προγράμματος. Αργότερα όταν προσθέσετε περισσότερο κώδικα στο project τότε θα αλλάξετε το version number. Για τώρα απλά πατάμε Enter να δεχτούμε το προτεινόμενο όνομα.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Τέλος, το όνομα του πακέτου μέσα στο οποίο θα γράφουμε τις java κλάσεις μας προτείνεται από το maven να είναι το ίδιο όπως το groupId. Το δεχόμαστε αυτό πατώντας και εδώ Enter.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Αν γράψουμε Y στο τελευταίο βήμα τότε θα δημιουργηθεί το project μας.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Μπορούμε να δούμε την δομή του καινούργιο project μέσα από το command prompt, αλλά είναι πιο εύκολο και πιο γρήγορο να ανοίξουμε το project με το IntelliJ. Αφού ξεκινήσουμε το IntelliJ, πηγαίνουμε στο File -> Open αφού βρούμε το project μας το ανοίγουμε.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Υπάρχει ένας βασικός κώδικας, μέσα σε μια κλάση που ονομάζεται App. Όμως, θα πρέπει να ανοίξουμε και το pom.xml και να κάνουμε μια βασική αλλαγή που είναι η έκδοση της Java. Ας αλλάξουμε λοιπόν την έκδοση από 1.7 σε 11.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Αφού κάνουμε save τις αλλαγές, πατάμε στο maven εικονίδιο στη δεξιά πλευρά του IntelliJ. Ανοίγουμε το Lifecycle κάνουμε διπλό κλικ επάνω στο install για να μπορέσουμε να κάνουμε build το project μας.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Ας δούμε τώρα πως θα μπορούσαμε να ακολουθήσουμε την ίδια διαδικασία δημιουργίας ενός maven project μέσα από το IntelliJ. Πατάμε File -> New -> Project. Βεβαιωνόμαστε ότι αριστερά έχουμε επιλέξει Maven και έχουμε επιλέξει Create from archetype. Τέλος επιλέγουμε το maven-archetype-webapp για να δημιουργήσουμε ένα απλό Java Web Application. Όταν έχουμε επιλέξει όλες τις παραπάνω επιλογές πατάμε Next.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Στο επόμενο βήμα ορίζουμε το groupId, artifactId και version και μετά πατάμε Next.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Στο τελευταίο βήμα απλά επιβεβαιώνουμε τις επιλογές μας και πατάμε Finish.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Και σε αυτό το project, θα πρέπει να ανοίξουμε το pom.xml και να αλλάξουμε την έκδοση της java όπως και ότι άλλο θεωρούμε ότι χρειάζεται να γίνει αλλαγή. Εκτελούμε και σε αυτό το project την εντολή install του maven για να το κάνουμε Build.

Δωρεάν Μαθήματα και Σεμινάρια Apache Maven

Τα ίδια βήματα που ακολουθήσαμε μέσα από το IntelliJ για να δημιουργήσουμε ένα maven project, μπορείτε να τα βρείτε σε κάθε μοντέρνο IDE όπως NetBeans, Eclipse ακόμα και στο Visual Studio Code. Από την επόμενη ενότητα θα εξηγήσουμε τις επιλογές του maven όπως clean και install και γενικότερα θα αναλύσουμε το lifecycle μιας εφαρμογής δημιουργημένη με maven.

Γίνε Χορηγός στη Γνώση

ΕΙΣΗΓΗΤΗΣ

Merry Jhonson

Μιχάλης Κασάπογλου

Ο Μιχάλης Κασάπογλου, είναι ένας από τους πιο έμπειρους τεχνικούς εκπαιδευτές στον χώρο του προγραμματισμού με πάνω από 20 χρόνια εμπειρία. Έχει εργαστεί σαν IT Operations Manager, Senior Programmer, και Training Team Leader ενώ κατέχει και αρκετές πιστοποιήσεις που καλύπτουν ένα μεγάλο φάσμα τεχνολογιών στο προγραμματισμό, σε βάσεις δεδομένων και cloud. Στον ελεύθερο του χρόνο διατηρεί ένα τεχνολογικό blog στο οποίο θα βρείτε αρκετά δωρεάν μαθήματα προγραμματισμού για αρχάριους.

loader