Loading AI tools
כלי עזר לבניה אוטומטית מוויקיפדיה, האנציקלופדיה החופשית
אפאצ'י אנט (באנגלית: Apache Ant, ראשי תיבות של "Another Neat Tool"; ה"נמלה" של אפאצ'י) הוא כלי תוכנה לאוטומציה של תהליכי בניית תוכנה. הכלי דומה ל-Make, אבל ממומש באמצעות שפת התכנות Java, דורש את הפלטפורמה של ג'אווה, ומותאם בצורה הטובה ביותר לבניית פרויקטים בג'אווה.
![]() | |
![]() | |
מפתח | מוסד התוכנה אפאצ'י |
---|---|
מחזור חיים |
יולי 2000 – הווה (כ־24 שנים) ![]() |
גרסה אחרונה |
1.10.14 (21 באוגוסט 2023) ![]() |
מערכת הפעלה | חוצה פלטפורמות |
נכתבה בשפות |
Java ![]() |
סוג רישיון | רישיון אפאצ'י |
קוד מקור | |
קטגוריה | בניית תוכנה |
ant.apache.org | |
![]() ![]() |
ההבדל הבולט ביותר בין Ant ל-Make הוא ש-Ant משתמשת ב-XML כדי לתאר את תהליך הבנייה ואת התלויות (dependencies) בפרויקט, בעוד ש-Make משתמשת בפורמט הנקרא Makefile. כברירת מחדל, קובץ ה-XML נקרא build.xml
.
כיום Ant הוא הכלי הנפוץ ביותר לבניית פרויקטים של ג'אווה. לדוגמה, מרבית המפתחים בג'אווה בקוד פתוח, כוללים את הקובץ build.xml
ביחד עם ההפצה שלהם.
מכיוון ש-Ant מאפשרת לשלב בקלות טסטים של JUnit ביחד עם תהליך הבנייה, היא מאפשרת למפתחים המעוניינים בכך לאמץ בקלות שיטות עבודה כמו פיתוח מונחה-בדיקות ואפילו Extreme programming.
Ant הוא פרויקט של מוסד התוכנה אפאצ'י. זוהי תוכנה בקוד פתוח והיא מופצת תחת רישיון אפאצ'י.
למטה מופיעה דוגמה לקובץ build.xml
עבור תוכנית Hello world פשוטה בג'אווה. בדוגמה ניתן לראות כי מוגדרות ארבע מטרות (targets). שמות המטרות: compile ,clobber ,clean ו-jar, ולכל אחת מהן יש את התיאור שלה (description). ה"מטרה" jar מציינת שהיא תלויה (depends) במטרה compile. זה אומר ל-Ant שלפני שהיא יכולה להתחיל את ה"מטרה" jar, עליה קודם להשלים את ה"מטרה" compile.
<?xml version="1.0"?>
<project name="Hello" default="compile">
<target name="clean" description="remove intermediate files">
<delete dir="classes"/>
</target>
<target name="clobber" depends="clean" description="remove all artifact files">
<delete file="hello.jar"/>
</target>
<target name="compile" description="compile the Java source code to class files">
<mkdir dir="classes"/>
<javac srcdir="." destdir="classes"/>
</target>
<target name="jar" depends="compile" description="create a Jar file for the application">
<jar destfile="hello.jar">
<fileset dir="classes" includes="**/*.class"/>
<manifest>
<attribute name="Main-Class" value="HelloProgram"/>
</manifest>
</jar>
</target>
</project>
בתוך כל target מפורטות הפעולות ש-Ant צריכה לבצע על מנת לבנות את אותה "מטרה"; פעולות אלה מבוצעות באמצעות "משימות" (tasks) מוּבְנוֹת. לדוגמה, על מנת לבנות את ה"מטרה" compile, אנט צריכה קודם ליצור תיקייה בשם classes (אנט תיצור את התיקייה רק אם היא עדיין לא קיימת), ואז תיקרא למהדר של ג'אווה. לכן ה"משימות" שבהן משתמשים הן mkdir ו-javac. משימות אלה מבצעות את אותה העבודה שמבצעים יישומי שורת הפקודה בעלי אותם שמות.
עוד task שמשתמשים בו בדוגמה הזאת נקרא jar:
<jar destfile="hello.jar">
ל"משימה" זו של Ant יש את אותו השם כמו לכלי שורת הפקודה הנפוץ של ג'אווה, JAR, אבל למעשה זוהי קריאה לפונקציה מובנית של אנט המטפלת בקובצי jar/zip. פרט זה אינו רלוונטי עבור מרבית המשתמשים שבסך הכל מקבלים את ה-JAR שרצו, אשר מכיל את הקבצים שהם ביקשו.
משימות רבות של Ant מאצילות את העבודה שלהן על תוכניות חיצוניות שבאות עם מערכת ההפעלה (native) או לתוכניות ג'אווה. משימות אלה משתמשות במשימות אחרות שבאות מובנות באנט: <exec>
ו-<java>
, על מנת ליצור את שורות הפקודה ולטפל בכל הפרטים של מיפוי המידע בין הקובץ build.xml לארגומנטים של התוכניות והפירוש של הערכים המוחזרים.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.