100 likes | 282 Views
מבוא ל Maven. תכנות מתקדם 2 89-211 תרגול מספר 3 תש"ע 2009-2010. אליהו חלסצ'י. Maven היא תוכנת קוד פתוח מבית apache לניהול מעגל החיים של פיתוח פרויקט. יוצר standard לגבי היכן כל רכיב נמצא.
E N D
מבוא ל Maven תכנות מתקדם 2 89-211תרגול מספר 3 תש"ע 2009-2010 אליהו חלסצ'י
Maven היא תוכנת קוד פתוח מבית apache לניהול מעגל החיים של פיתוח פרויקט. יוצר standard לגבי היכן כל רכיב נמצא. בדומה ל ant בונים איתו פרויקטים אך בניגוד ל ant ישנה שכבת אבסטרקציה שמקצרת משמעותית את שורות הקוד הדרושות לבנייה. הקדמה
POM – project object model הוא קובץ xml המהווה את היחידה הבסיסית ב maven. כל הגדרות הבנייה שמורות בתוכו כגון: Source directory Test source directory Build directory תלויות, Plugins וכו'. בשיעור היום כמבוא ל maven נראה רק דוגמא פשוטה ליצירה ובנייה של פרויקט java פשוט. הקדמה
הורדה מתוך : http://maven.apache.org/download.html הוראות התקנה נמצאות בסוף הדף(כמו ב ant יש לפתוח את קובץ ה zip בתיקייה כלשהי ולהוסיפה למשתני הסביבה) בצד לינקים לאינטגרציה עם eclipse או netbeans בדיקת התקנה: התקנה D:\>mvn --version Apache Maven 2.1.0 (r755702; 2009-03-18 21:10:27+0200) Java version: 1.6.0_05 Java home: C:\Program Files\Java\jdk1.6.0_05\jre Default locale: iw_IL, platform encoding: Cp1255 OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
ניצור תיקיית workspaceובתוכה ניצור פרויקט ע"י: כעת נתבקש להכניס archetype, ניתן לבחור מבין 41 המוכנים מראש, נבחר בברירת המחדל 15 – quick start. נתבקש למלאאת הפרטים: groupId artifactId (קובץ היעד) version package ולאשר את הפרטים. בפעם הראשונה תהליך זה יכול לקחת קצת זמן עקב הורדה של רכיבים מהרשת. יצירת פרויקט D:\>md mavenProject D:\>cd mavenProject D:\mavenProject>mvn archetype:generate Define value for groupId: : com.advancedProgramming.hello Define value for artifactId: : helloWorldApp Define value for version: 1.0-SNAPSHOT: : Define value for package: com.advancedProgramming.hello: : Confirm properties configuration: ... Y: :
יצירת פרויקט • מבנה הפרויקט שהתקבל: • נוצרה תיקייה helloWorldApp. • בתוכה src עבור הקוד. • שם נוצרו main ו test עבור הקוד הראשי ובדיקתו. • בתוכן נוצרו התיקיות ע"פ ה package שבחרנו. • קבצים: • בתוך hello שתחת main נוצר הקובץ App.javaשכותב למסך hello world (כמובן...) • בתוך hello שתחת test נוצר הקובץAppTest.java המהווה מחלקת JUnit לבדיקת App.java • תחת תיקיית הפרויקט – helloWorldApp נוצר הקובץ pom.xml האחראי על ההגדרותהשונות של בניית הפרויקט
יצירת פרויקט • pom.xml: (project object model) • הגדרת ה xml. • הגדרת גרסת המודל – 4.0.0 • הגדרות הפרויקט: • groupId • artifactId – שם קובץ היעד • packaging – סוג קובץ היעד • גרסת הפרויקט • שם הפרויקט • הגדרת התלויות: • במקרה שלנו ישנה תלות אחת – JUnit עבור הבדיקה.
קימפול הפרויקט ע"י: בפעם הראשונה הוא יוריד רכיבים ותלויות הדרושים לקימפול מלא של הפרויקט. נוצרה התיקייה target ובתוכה classes שם נוצרו תיקיות ה package ובפנים הקובץ App.class כדי לקמפל את תוכנית הבדיקה וגם לבצע את הבדיקה עצמה נכתוב: בפעם הראשונה יתבצע download ל JUnit. תוצאה: הרצות שונות D:\mavenProject>cd helloWorldApp D:\mavenProject\helloWorldApp>mvn compile D:\mavenProject\helloWorldApp>mvn test Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
יצירת jar ע"י: תחת התיקייה target נוצר לנו הקובץ helloWorldApp-1.0-SNAPSHOT.jar הרצות שונות D:\mavenProject\helloWorldApp>mvn package
לאחר שנלמד Servlets: קמפלו את תוכניות ה servlet השונות מהשיעורים הקודמים באמצעות maven. תיצרו קובץ war לפרויקט. הטמעה