הפעל שיטה ראשית של Java ב- Maven

1. סקירה כללית

במדריך קצר זה, נראה כיצד להפעיל שיטות עיקריות שרירותיות מכל מחלקת Java באמצעות Maven.

2. ה תוסף exec-maven

נניח שיש לנו את השיעור הבא:

מחלקה ציבורית Exec {לוגרית סופית סטטית פרטית LOGGER = LoggerFactory.getLogger (Exec.class); main static public ריק (String [] args) {LOGGER.info ("הפעלת השיטה הראשית"); אם (args.length> 0) {LOGGER.info ("רשימת ארגומנטים: {}", Arrays.toString (args)); }}}

ואנחנו רוצים לבצע את השיטה העיקרית שלה משורת הפקודה דרך Maven.

על מנת לעשות זאת, אנו יכולים להשתמש ב- תוסף exec-maven. ליתר דיוק, ה- exec: java המטרה מתוסף זה מבצעת את מחלקת Java המסופקת עם התלות של הפרויקט הסוגר כמסלול הכיתה.

לבצע את השיטה העיקרית של ביצוע בכיתה, עלינו להעביר את השם המלא של הכיתה לתוסף:

$ mvn compile exec: java -Dexec.mainClass = "com.baeldung.main.Exec" 02: 26: 45.112 INFO com.baeldung.main.Exec - הפעלת השיטה העיקרית

כפי שמוצג לעיל, אנו משתמשים ב- exec.mainClass מאפיין המערכת כדי להעביר את שם הכיתה המלא.

כמו כן, עלינו לוודא כי מסלול הכיתה מוכן לפני הפעלת השיטה העיקרית. לכן אנו מרכיבים את קוד המקור לפני ביצוע השיטה העיקרית.

אנחנו יכולים להשיג את אותו הדבר בפשטות ג'אווה ו ג'אוואק. עם זאת, זה יכול להיות מסורבל כשאנחנו עובדים עם מסלול כיתות די גדול. לעומת זאת,בעת שימוש בתוסף זה, Maven דואג באופן אוטומטי לאכלס את מסלול הכיתה.

3. העברת ויכוחים

אפשר גם להעביר טיעונים משורת הפקודה לשיטה הראשית. על מנת לעשות זאת, אנו יכולים להשתמש ב- exec.args מאפיין מערכת:

$ mvn compile exec: java -Dexec.mainClass = "com.baeldung.main.Exec" \ -Dexec.args = "שנייה ראשונה" 02: 31: 08.235 INFO com.baeldung.main.Exec - הפעלת השיטה העיקרית 02: 31: 08.236 INFO com.baeldung.main.Exec - רשימת טיעונים: [ראשון, שני]

כפי שמוצג לעיל, אנו מעבירים רשימה של ארגומנטים המופרדים מהחלל. יתר על כן, אנו יכולים להשתמש ברשימת ארגומנטים המופרדים בפסיקים באמצעות ה- ארגומנטים מאפיין מערכת:

$ mvn compile exec: java -Dexec.mainClass = "com.baeldung.main.Exec" \ -Dexec.arguments = "שלום עולם, ביי" 02: 32: 25.616 INFO com.baeldung.main.Exec - הפעלת השיטה העיקרית 02: 32: 25.618 INFO com.baeldung.main.Exec - רשימת ויכוחים: [שלום עולם, ביי]

שתי אפשרויות אלה יכולות להיות שימושיות כאשר אנו רוצים להשתמש במפריד (רווח או פסיק) בטיעון עצמו.

4. תצורה מותאמת אישית

אנו יכולים גם להכריז במפורש על תלות התוסף שלנו pom.xml. בדרך זו, אנו יכולים להשתמש בתצורות מותאמות אישית וברירת מחדל.

למשל, אנו יכולים לציין מחלקה ראשית ברירת מחדל בתצורת התוסף:

   org.codehaus.mojo exec-maven-plugin 3.0.0 com.baeldung.main.Exec 

עכשיו, אם לא נציין את השם המלא של הכיתה הרצויה, com.baeldung.main.Exec יהיה בשימוש:

$ mvn compile exec: java 02: 33: 14.197 INFO com.baeldung.main.Exec - הפעלת השיטה העיקרית

עם זאת, עדיין ניתן לעקוף תצורת ברירת מחדל זו באמצעות מפורש ביצוע.mainClass נכס מערכת.

יתר על כן, אנו יכולים גם לציין ארגומנטים של ברירת מחדל בתוכנית בתצורה שלנו:

 com.baeldung.main.Exec שנייה ראשונה 

בדרך זו לא נצטרך להעביר את הטיעונים האלה בשורת הפקודה:

$ mvn clean compile exec: java 02: 34: 24.448 INFO com.baeldung.main.Exec - הפעלת השיטה העיקרית 02: 34: 24.450 INFO com.baeldung.main.Exec - רשימת ארגומנטים: [ראשון, שני]

בנוסף לתצורות אלה, יש הרבה יותר זמינים המכוסים בתיעוד הרשמי.

5. מסקנה

במאמר קצר זה ראינו כיצד להפעיל את השיטות העיקריות משורת הפקודה דרך תוסף exec-maven.

כרגיל, כל הדוגמאות זמינות ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found