
התקנה שלב אחר שלב של Maven
-
ראשית, עלינו להתקין את Maven. הורד אותו מהקישור הזה .
-
לאחר מכן, פתח את הארכיון שהורדת והגדר את משתנה הסביבה M2_HOME למיקום הארכיון שנפרם. לדוגמה, C:\\Program Files\\maven\\
-
כדי להבטיח שהכל מותקן, בצע את הפעולות הבאות בשורת הפקודה:
mvn -גרסה
-
אם מוצג מידע הגרסה עבור Maven, Java וכו', אז הכל מוכן לפעולה.
-
כעת פתח את IntelliJ IDEA וצור פרויקט חדש. בחלון הראשון, בחר Maven:
-
לחץ על "הבא" ומלא את החלון שמופיע:
-
לאחר מכן, כרגיל, צור פרויקט היכן שתרצה.
לאחר יצירת הפרויקט, שימו לב למבנה שלו:
- התיקיה src/main/java מכילה את מחלקות ה-Java
- תיקיית src/main/resources מכילה את המשאבים המשמשים את האפליקציה (דפי HTML, תמונות, גיליונות סגנונות וכו')
- תיקיית src/test מיועדת לבדיקות
ניהול תלות ב-Maven
ייתכן שנתקלתם בביטוי "מנהל תלות". מייבן יודעת לנהל תלות. הודות ל-Maven, אינך צריך להשקיע זמן רב בחיפוש באינטרנט אחר ספרייה נדרשת, הורדתה ולאחר מכן חיבורה לפרויקט שלך. במקום זאת, אתה פשוט מוסיף את הספרייה הנדרשת לרשימת התלות ב-Maven.התלות מצוינות בצומת התלות של הקובץ pom.xml
נניח שאתה צריך את ספריית Apache Commons IO בפרויקט שלך כדי לפשט את העבודה עם קבצים. כדי להוסיף ספריה, נכתוב חמש שורות ב-pom.xml:<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
כעת קובץ pom.xml שלך אמור להיראות כך:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
לאחר מכן, אפשר ל-IntelliJ IDEA לייבא את התלות (תיבת דו-שיח אמורה להופיע בפינה הימנית התחתונה). כעת הספרייה מוכנה לשימוש:
import org.apache.commons.io.FileUtils;
import java.io.File;
public class TestMaven {
public static void main(String[] args) {
File tempDirectory = FileUtils.getTempDirectory();
}
}
כל התלות שלאחר מכן חייבות להיכתב בתוך <dependencies>
התג. ייתכן שאתה תוהה כיצד לברר את המידע על הספרייה שאתה צריך לציין בתוך התג <dependency>
. זה קל. תמיד צריך להגדיר שלושה פרמטרים: "groupId", "artifactId" ו-"version". ישנן שתי דרכים לקבוע פרמטרים אלה:
-
באתר הספרייה. אם אנחנו צריכים את ספריית Apache Commons IO, אנחנו הולכים לאתר הרשמי ובוחרים בכרטיסייה "מידע תלות". כל המידע הדרוש נמצא כאן - אתה יכול פשוט להעתיק אותו ולהוסיף אותו לצומת
<dependencies>
. -
במאגר של מייבן . הזן "apache commons io" בשורת החיפוש ותראה את כל הגרסאות הזמינות של הספרייה. לאחר בחירת המתאים, פשוט העתק את הדברים הבאים:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
והוסף אותו ל-pom.xml שלך.
סוגי מאגרי מאבן
כדאי לנו להזכיר שוב את מאגרי Maven, כי למעשה יש לנו שניים מהם: מאגר מרוחק (מרכזי) ומאגר מקומי (במחשב שלך). כל הספריות שאתה מוסיף לפרויקטים שלך נשמרות במאגר המקומי. כאשר Maven מוסיף תלות נדרשת לפרויקט, הוא בודק תחילה אם הספרייה כבר קיימת במאגר המקומי. הוא ניגש למאגר המרוחק רק אם הוא לא מוצא את הספרייה באופן מקומי. כפי שאתה יכול לראות, אתה יכול להשתמש ב-Maven כדי להוסיף תלות, אבל זה לא כל מה שהוא יכול לעשות.בניית פרויקט Java באמצעות Maven
יכולת זו עשויה להיראות חסרת טעם למתחילים. למה אנחנו צריכים את זה אם יש לנו IDE? הרשה לי להסביר. ראשית, ייתכן שלשרת שבו אתה צריך לבנות את היישום שלך אין סביבת פיתוח או ממשק גרפי. שנית, בפרויקטים גדולים, מייבן עושה עבודה טובה יותר בבניית הפרויקט. אז בלי להתלהב יותר, נשקול את התהליך של בניית אפליקציה באמצעות Maven.שלבים
תהליך בניית האפליקציה ידוע כמחזור החיים של פרויקט Maven, והוא מורכב משלבים. אתה יכול להסתכל עליהם ב-IDEA על ידי לחיצה על Maven > דוגמה > מחזור חיים בפינה השמאלית העליונה:
- נקי - מסיר את כל קבצי הקומפילציה מספריית היעד (המקום שבו נשמרים חפצים מוגמרים)
- validate - בודק אם כל המידע הנדרש לבניית הפרויקט קיים
- compile - קומפילציה של קובצי קוד מקור
- מבחן - מתחיל מבחנים
- חבילה - קבצי הידור של חבילות (בארכיון JAR, WAR וכו')
- אימות - בודק אם הקובץ הארוז מוכן
- התקן - מציב את החבילה במאגר המקומי. כעת ניתן להשתמש בו על ידי פרויקטים אחרים כספרייה חיצונית
- אתר - יוצר תיעוד פרויקט
- deploy - מעתיק את הארכיון הבנוי למאגר המרוחק
-
דרך שורת הפקודה:
חבילת mvn
-
באמצעות IntelliJ IDEA:
לפני תחילת שלב החבילה, מבוצעים שלבי האימות, ההידור והבדיקה. השלב הנקי הוא חריג. מומלץ להפעיל את השלב הזה לפני כל בנייה של הפרויקט. אתה יכול לרשום שלבים מרובים, להפריד אותם עם רווחים:
חבילה נקייה של mvn.
תוספים
כדי להוסיף תוסף Maven לפרויקט, עלינו להוסיף את התיאור שלו לקובץ pom.xml, באמצעות<build>
ותגיות <plugins>
, בדומה לאופן שבו הוספנו תלות. לדוגמה, נניח שאנו צריכים תוסף כדי לוודא שאנו משתמשים בגרסה העדכנית ביותר של כל הספריות החיצוניות שלנו. לאחר קצת חיפוש באינטרנט, תוכל למצוא את התוסף הזה
והוראות כיצד להשתמש בו. בואו נגדיר את groupId, artifactId והגרסה. נציין אילו מטרות התוסף חייב למלא ובאיזה שלב. במקרה שלנו, בדיקת התלות ב-pom.xml הנוכחית מוגדרת להתרחש במהלך שלב האימות. כעת קובץ pom.xml שלנו נראה כך:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>uptodate-maven-plugin</artifactId>
<version>0.2.0</version>
<executions>
<execution>
<goals>
<goal>dependency</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
נוכל להמשיך לעבוד על הפרויקט שלנו. אבל בואו ננסה לשנות את הגרסה של Apache Commons IO ל-2.0 ולבנות את הפרויקט. אנחנו נקבל
[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
כאן יש לנו שגיאת בנייה שנוצרה על ידי התוסף. הודעת השגיאה מציינת שאנו משתמשים בגרסה 2.0 כאשר גרסה 2.6 זמינה. בעיקרון, Maven הוא כלי שימושי מאוד. אולי זה ייראה קשה לשימוש בהתחלה, אבל תתאמן! צור את הפרויקטים שלך באמצעות Maven, ולאחר זמן מה אתה תהיה מרוצה מאוד מהתוצאה הסופית. מאמר זה השמט בכוונה הרבה פרטים על Maven - התמקדנו בפרטים החיוניים ביותר. אבל אין גבול לשיפור: אתה יכול לקרוא עוד על Maven באתר הרשמי
שלה . חלק 5. Servlets ו-Java Servlet API. כתיבת יישום אינטרנט פשוט
חלק 6. מיכלי Servlet
חלק 7. היכרות עם תבנית MVC (Model-View-Controller)
GO TO FULL VERSION