1. نظرة عامة
ANT هي أداة تربط تجميع البرامج واختبارها ونشرها وخطوات أخرى لأتمتة ، معظمها لتطوير البرمجيات في بيئة Java. في تطوير البرمجيات الفعلية ، هناك العديد من الأماكن لاستخدام ANT.
بيئة التنمية:
نسخ رمز رمز على النحو التالي:
النظام: Windows
JDK: 1.6+
IDE: Eclipse
ANT: 1.9.1
ثانياً ، المزايا
ANT هو مشروع فرعي في دليل Jakarta لمؤسسة Apache.
1. الصليب -platform: ANT مكتوب بلغة جافا النقية ، لذلك لديها platform جيدة.
2. العملية البسيطة: تتكون ANT من مهمة مدمجة ومهمة اختيارية. يتطلب ANT ملف XML (إنشاء ملفات). يمكن أن تنفذ ANT مهام مختلفة عن طريق استدعاء الشجرة المستهدفة. كل مهمة تنفذ كائنات واجهة محددة.
3. الصيانة البسيطة ، قابلية القراءة الجيدة ، ومدمجة ببساطة: لأن ملفات ANT المصممة ، وملفات تنسيق XML سهلة الصيانة والكتابة ، والهيكل واضح للغاية. يمكن أن تتكامل ANT في بيئة التنمية. نظرًا لأن خصائص التشغيل المتقاطعة والعملية البسيطة ، فمن السهل الاندماج في بعض بيئات التطوير.
ثالثًا ، التثبيت والتكوين
1. تنزيل ANT ، http://mirror.esocc.com/apache/ant/binaries/apache-nt-nt-9.1-bin.zip
2. قم بفك ضغط حزمة ضغط الرمز البريدي ووضع الحزمة المضغوطة التي تريد وضع الدليل الذي تريد وضعه. أضعها هنا في D: /apache-at-1.9.1 ، هيكل الدليل كما يلي:
BIN هو برنامج ANT تشغيل مدخل.
مثل: تشغيل ant.bat في CMD لتنفيذ البرنامج.
يتم تخزين جميع قوالب إخراج XSL في دليل ETC ، مما يخلق إخراج XML تصدير محسّن لمختلف المهام ، بحيث تتخلص ملفات الإنشاء الخاصة بك من التحذيرات القديمة
ما يتم تخزينه في دليل LIB هو حزمة JAR التي يحتاج برنامج ANT إلى الاعتماد عليها
الدليل اليدوي هو وثيقة المساعدة لبرنامج ANT
3. في جهاز الكمبيوتر الخاص بي> انقر بزر الماوس الأيمن فوق خصائص> تكوين النظام المتقدم-> تكوين ANT في متغيرات البيئة
متغير النظام الجديد ant_home = d: /apache-at-1.9.1
وبهذه الطريقة ، يتم تكوين متغير البيئة ، ولكن الفرضية التي تحتاجها إلى تكوين متغير البيئة في JDK. إذا لم تقم بتكوين متغير البيئة من JDK ، فيرجى تكوين متغير JDK أولاً. طريقة تكوين بيئة JDK هي كما يلي:
(1) قم بتثبيت JDK على دليلها الافتراضي: C:/Program Files/Java/JDK1.5.0_05 (لا يوجد JDK يذهب إلى التنزيل الرسمي)
C:/ملفات البرنامج/Java/JDK1.5.0
الدور: أخبر النظام JVM أين هو JVM
(2) قم بربط جهاز الكمبيوتر الخاص بي ، واختيار السمات ، والمتغيرات البيئية المتقدمة
(3) تم تصميمه حديثًا في شريط متغير النظام ، ويظهر مربع حوار متغير نظام جديد ، ويتم ملء Java_Home بالاسم المتغير ، القيمة المتغيرة: C:/ملفات البرامج/Java/JDK1.5.0_05
(4) بعد التأكيد ، قم بإنشاء Classpath متغير بيئة جديد في متغير (S).
(5) بعد التأكيد ، ابحث عن الخيار وحدده مع المتغير كمسار في عمود متغير النظام (S).
٪ java_home ٪/bin
إذا لم يتم العثور على متغيرات المسار ، قم بإنشاء واحدة جديدة بنفسك!
إذا كنت لا ترغب في الركض إلى الدليل حيث يوجد الفصل في كل مرة تقوم فيها بالتشغيل ، ثم تنفيذ أمر Java ، يمكنك وضع جميع ملفات الفصل تحت مؤسسة الدليل الموحد ، ثم إضافة هذا الدليل إلى ClassPath.
رمز الاختبار كما يلي:
نسخ رمز رمز على النحو التالي:
اختبار الفئة العامة {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {{
System.out.println ("Hello World!") ؛
}
}
بعد تحرير محرر المفكرة كملف test.java (اسم الملف ونفس الاسم) ، افتح نافذة سطر الأوامر ،
قرص مضغوط للدليل حيث يوجد الملف:
نسخ رمز رمز على النحو التالي:
javac test.java // compile أوامر
اختبار Java // تنفيذ البرنامج
إذا كان الإخراج هو: Hello World!
رابع ، اختبار النملة
أدخل Ant في نافذة DOS تشغيل CMD ، كما هو موضح في الشكل:
إذا ظهر هذا ، ثم تهانينا على التثبيت الخاص بك! خلاف ذلك ، سيفشل ، والتحقق من الخطوات السابقة خاطئة. سيقوم الأمر أعلاه بتنفيذ برنامج ANT ، ويقوم ANT بإجراء المهمة في Build.xml افتراضيًا.
إذا فشل التثبيت ، راجع ما إذا كانت هناك بعض المواقف:
1. لا يوجد تكوين java_home أو خطأ التكوين ، و java_home/bin/java.exe موجود
2. لا يوجد تكوين ant_hoem أو خطأ التكوين ، و int_home/bin/ant.bat موجود
3.
٪ path ٪ = ... ربما-إدخال آخر ... ؛ ٪ ant_home ٪/bin ؛
5. تشغيل النملة
عندما تدير ANT الأمر ، سيكون هناك أحيانًا بعض مكتبات جرة الحديقة. ستكون هذه المكتبات موجودة في كل مشروع ANT ، لذلك في هذا الوقت يمكننا وضع حزمة الجرة هذه في دليل ANT_HOME/LIB كمكتبة عالمية.
إذا كنت لا ترغب في "تلوث" برنامج ANT الأصلي ، فيمكنك وضع حزمة JAR في دليل مستخدم Windows الحالي. بدون الدليل أعلاه ، يمكن تأسيسه يدويًا.
إذا كنت ترغب فقط في إضافة LIB مؤقتًا ولا ترغب في إضافة LIB إلى هندسة النمل الحالية. يمكنك تحديد المعلمة LIB التابعة عند تشغيل برنامج ANT.
في الوقت نفسه ، يمكنك أيضًا إضافة مشروعك إلى حزمة JAR في دليل ClassPath في مشروع Build Project الحالي.
6. أمر النمل
وصف العنصر النحوي كما يلي:
-يساعد
عرض معلومات المساعدة لأمر ANT وخياراته
-projectHelp
تحتوي الشاشة على مستند المساعدة الذي كتبه جميع المستخدمين في الملف البناء. أي أن نص السمة الوصف في كل <Dage> ، وأي نص مدرج في العنصر <specivery>. الهدف من سمة الوصف هو الهدف الرئيسي (الهدف الرئيسي) ، ويتم سرد الهدف بدون هذه السمة على أنها مستهدفة فرعية.
-إصدار
مطلوب لعرض معلومات الإصدار ثم الخروج.
-هادئ
تثبيط ليس معظم الأخبار الناتجة عن مهمة الصدى في ملف البناء.
-فيربوز
عرض الرسائل التفصيلية لكل عملية أثناء عملية البناء. لا يمكن تحديد هذا الخيار إلا مع خيار -debug.
-Debug
عرض على مطوري ANT والمهمة بالفعل رسائل لتصحيح الرسائل. يمكن لهذا الخيار اختيار واحد منهم فقط مع verbose.
-
قم بتنسيق رسائل السجل بحيث يمكن تحليلها بسهولة من خلال أحداث المهمة ، ولكن لا تتقلص ، ولا [اسم المهمة].
اسم الملف اللوجفيلي
أعد تعيين إخراج السجل إلى الملف المحدد.
-لوجغر classname
حدد فئة لمعالجة سجل النمل. يجب أن تنفذ الفئة المحددة org.apache.tools.ant.buildlogger واجهة.
-الرميترنر classname
لإعلان فئة مراقبة وزيادةها إلى قائمة المستمع الخاصة بها. هذا الخيار مفيد للغاية عند دمج ANT و IDE أو برامج Java الأخرى. يمكنك قراءة الفصل 6 لفهم المزيد من المعلومات حول المشرف. يجب كتابة فئة الاستماع المحددة كمعالجة لرسالة البناء التي يمكنها التعامل مع ANT.
-اسم الملف
حدد ملف البناء الذي تحتاجه لمعالجته. ملف البناء الافتراضي هو build.xml.
-dproperty = القيمة
حدد اسمًا مميزًا -زوج القيمة على سطر الأوامر.
-اسم الملف
حدد ملف البناء الذي يجب معالجته. على عكس خيارات BuildFile ، إذا لم يتم العثور على الملف المحدد في الدليل الحالي ، فإن الإلغاء يتطلب البحث في الدليل الأم. سيستمر تنفيذ هذا البحث في دليل أجداده حتى جذر نظام الملفات ، وإذا لم يتم العثور على الملف ، فإن البناء يفشل.
-Tuoproxy JDK1.5 أو أكثر يمكن استخدام إعدادات الوكيل
-NouserLib لا يستخدم حزمة JAR في LIB للمستخدم عند التشغيل
-تصميم الخيط الرئيسي أولوية
-يستخدم Logfile سجل السجل المحدد
-لا يسمح Noinput
-الحفاظ على التنفيذ ، لا يعتمد التنفيذ على جميع الأهداف
-Propertyfil
نسخ رمز رمز على النحو التالي:
<project default = "all">
<property name = "pro_a" value = "a value" />
<property name = "pro_b" value = "b value" />
<path id = "rt.phth">
<pathelement local = "$ {java.home} /jre/lib/rt.jar"/>
</path>
<name target = "all">
<javac srcdir = ".">
<classpath refid = "A.Path" />
</javac>
</target>
</project>
يلاحظ:
● يجب أن تحتوي جميع الملفات البناءة على <sphint> عناصر ، وعنصر واحد على الأقل <Target>.
● لا تتطلب السمة الافتراضية لعنصر <Project> بالضرورة القيمة الافتراضية.
● لا يجب تسمية ملفات البناء. xml. لكن Build.xml هو اسم الملف الافتراضي الذي يريد النمل البحث عنه.
● يمكن أن يكون لكل ملف بناء عنصر واحد فقط.
أدخل رمز نسخ دليل Build.xml الحالي في نافذة CMD على النحو التالي:
النملة
قم بتشغيل ANT في build.xml في الدليل الحالي لأداء الأهداف الافتراضية.
نسخ رمز رمز على النحو التالي:
ant -buildfile build -test.xml
قم بتشغيل ANT في build-test.xml في الدليل الحالي لتنفيذ الهدف الافتراضي.
نسخ رمز رمز على النحو التالي:
ant -buildfile build -test.xml نظيفة
قم بتشغيل ANT في build-test.xml في الدليل الحالي ، وقم بتنفيذ هدف يسمى Clean.
نسخ رمز رمز على النحو التالي:
ant -buildfile build -test.xml -dbuild = build/clistes clean
قم بتشغيل ANT في build-test.xml في الدليل الحالي ، وقم بتنفيذ هدف يسمى Clean ، وقم بتعيين قيمة سمة الإنشاء على الفئات.
7. نص النمل: استخدم العقد والعناصر والسمات ، تعليمات الأوامر
1. عنصر عقدة المشروع
عنصر المشروع هو العنصر الجذر لملف مكون ANT. في كل عنصر من عناصر المشروع ، يمكن تضمين عناصر مستهدفة متعددة. القراء المعرض التالي سمات عنصر المشروع.
● سمات الاسم: اسم تحديد عنصر المشروع.
● السمة الافتراضية: اسم التنفيذ المستهدف لـ Dearget عند تنفيذ المشروع افتراضيًا.
● السمة المستندة إلى: تستخدم لتحديد موضع المسار الأساسي. عندما لا يتم تحديد هذه السمة ، يتم استخدام مرفق ملف مكون ANT كدليل قياسي.
نسخ رمز رمز على النحو التالي:
<
<project name = "ant-project" default = "print-dir" bases = ".".>
<name target = "print-dir">
<echo message = "the base dia is: $ {inludir}" />
</target>
</project>
يمكن ملاحظة من المثال أعلاه أن قيمة الخاصية الافتراضية يتم طباعتها هنا ، أي عند تشغيل أمر ANT ، إذا لم يتم الإشارة إلى الهدف ، فسيتم تنفيذ الهدف الافتراضي (طباعة DIR). بالإضافة إلى ذلك ، فإن قيمة السمة ".
2. عنصر العقدة الهدف
الهدف هو وحدة التنفيذ الأساسية أو مهمة ANT ، والتي يمكن أن تحتوي على وحدة/أكثر محددة. يمكن أن يكون لأهداف متعددة الاعتماد المتبادل. لديها السمات التالية:
● سمة الاسم: حدد اسم العنصر الهدف ، وهو فريد من نوعه في عنصر المشروع. يمكننا تحديد هدف من خلال تحديد اسم العنصر الهدف.
● يعتمد على السمة: يتم استخدامها لوصف علاقة التبعية بين الأهداف. ستقوم ANT بتنفيذ كل هدف وفقًا لترتيب الهدف في الخاصية يعتمد ، وسيتم تنفيذ الهدف المعتمد أولاً.
● إذا تم استخدامها للتحقق من وجود السمة المحددة.
● ما لم تكن السمة: وظيفة هذه السمة هي عكس وظيفة IF.
● السمة الوصف: هذه السمة هي وصف موجز ووصف للوظيفة الهدف.
مثال:
نسخ رمز رمز على النحو التالي:
<
<name project = "ant-timeget" default = "print">
<target name = "الإصدار" if = "ant.java.version">
<echo message = "java الإصدار: $ {ant.java.version}" />
</target>
<target name = "print" يعتمد = "الإصدار" ما لم يكن = "المستندات">
<spection>
مثال يعتمد!
</الوصف>
<echo message = "the base dia is: $ {inludir}" />
</target>
</project>
من النتائج التالية ، يمكننا أن ندير هدف الطباعة. 1.6 "، بعد تنفيذ الإصدار ، ثم يتم تنفيذها لأن المستندات غير موجودة ، وما لم تدخل السمة الهدف عندما لا يكون هناك وجود. يمكن ملاحظة أن الطباعة يمكن تنفيذها ، معلومات الإخراج:" IS: D: D:/Workspace/Antexample/Build ".
3. عنصر عقدة سمة الخاصية
يمكن اعتبار عناصر الخصائص تعريفًا للمعلمات أو معلمات. إذا كنت ترغب في تقديم ملف في الخارج ، مثل ملفات build.properties ، فيمكنك اقتباسه من خلال المحتوى التالي:
<property file = "build.properties"/>/>
يمكن استخدام عناصر الخصائص كقيمة السمة للمهمة. في المهمة ، يتم تحقيق ذلك عن طريق وضع أسماء السمات بين $ {اسم السمة} ووضعها في موضع قيمة سمة المهمة.
توفر ANT بعض السمات المدمجة. في الوقت نفسه ، توفر ANT أيضًا بعض سماتها المدمجة ، على النحو التالي:
قائم على أساس القائمة المطلقة لقاعدة قاعدة المشروع ؛
ant.file: المسار المطلق للبناء.
ANT.Version: معلومات إصدار ANT ، هذه المقالة هي 1.8.1 ؛
ant.project.name: اسم المشروع المحدد الحالي ، أي قيمة خاصية الاسم للمشروع المذكورة سابقًا ؛
ant.java.version: إصدار JDK الذي تم اكتشافه بواسطة ANT ، هذه المقالة هي 1.6.
على سبيل المثال ، على النحو التالي:
نسخ رمز رمز على النحو التالي:
<project name = "ant-project" default = "example">
<property name = "name" value = "Jojo" />
<property name = "Age" value = "25" />
<الاسم الهدف = "مثال">
<echo message = "name: $ {name} ، العمر: $ {Age}" />
</target>
</project>
في المثال أعلاه ، يقوم المستخدم بتعيين سمتين مسماة الاسم والعمر.
4. copy command
يتم استخدام النسخ بشكل أساسي لنسخ الملف والدليل. على سبيل المثال ، على النحو التالي:
● انسخ ملف واحد:
نسخ رمز رمز على النحو التالي:
<copy file = "old.txt" tofile = "new.txt"/>
● انسخ دليل الملف:
نسخ رمز رمز على النحو التالي:
<نسخ اليوم = "../ dest_dir">
<fileset dir = "src_dir"/>
</copy>
● انسخ الملف إلى دليل آخر:
نسخ رمز رمز على النحو التالي:
<copy file = "src.txt" todir = "c:/base"/>
5. حذف الأمر
احذف الملف أو الدليل ، على النحو التالي:
● حذف ملف:
نسخ رمز رمز على النحو التالي:
<delete file = "/res/images/cat.jpg"/>
● حذف دليل:
نسخ رمز رمز على النحو التالي:
<حذف dir = "/res/image"/>
● حذف جميع ملفات الجرة أو الدليل الفارغ:
نسخ رمز رمز على النحو التالي:
<delete inswereMptyDirs = "true">
<fileset dir = "."
</delete>
6. أمر mkdir
إنشاء دليل.
نسخ رمز رمز على النحو التالي:
<mkdir dir = "/home/philander/build/classes"/>/>
7. نقل الأمر
نقل الملفات أو الدليل ، على النحو التالي:
● نقل ملف واحد:
نسخ رمز رمز على النحو التالي:
<move file = "source" tofile = "destfile"/>/>
● نقل ملف واحد إلى دليل آخر:
نسخ رمز رمز على النحو التالي:
<move file = "source" todir = "quoveir"/>/>
● نقل دليل إلى دليل آخر:
نسخ رمز رمز على النحو التالي:
<move today = "newdir">
<fileset dir = "olddir"/>
</move>
8. صدى الأمر
يتمثل دور هذه المهمة في إخراج المعلومات بناءً على مستوى السجل أو الشاشة. ويتضمن أربع سمات: الرسالة ، الملف ، apend والمستوى.
<echo message = "ant message" file = "/logs/ant.log" append = "true">
9. عنصر عقدة العلامة جرة
يتم استخدام هذه العلامة لإنشاء ملف جرة ، وهو كما يلي.
● يشير DestFile إلى اسم ملف الجرة.
● تمثل اسم ملف المؤرشفة.
● يتضمن يشير إلى وضع ملف عدم الأرشفة.
● تمثل التبادلات وضع الملف المستبعد.
● يشير الضغط إلى ما إذا كان مضغوطًا.
مثال:
نسخ رمز رمز على النحو التالي:
<jar destfile = "$ {webroot}/$ {ash_jar}" level = "9" compression = "true" enchoding = "utf-8" reistr = "$ {dest}">
<Meansest>
<name attribute = "election-value =" الإصدار: 2.2 "/>
</angerest>
</jar>
Mainfest أعلاه هو محتويات محتوى الملف في ManySest.mf في حزمة اللحم في حزمة الجرة
نفس عملية التغليف هي الحرب ، TGZ ، وعملية إزالة الضغط Uzip
نسخ رمز رمز على النحو التالي:
<!-إنشاء zip->
<zip baseness = "$ {injorir}/class" zipfile = "temp/output.zip"/>/>
<!-إنشاء TGZ->
<gzip src = "classses/**/*. class" zipfile = "output.class.gz"/>
<!
<unsip src = "output.class.gz" dest = "extractdir"/>
<!-إنشاء حزمة الحرب->
<lar destfile = "$ {webroot} /ash.war" riptired = "$ {indizerir} /web" webxml = "$ {inludir} /web/web.xml" >>
<استبعاد name = "web-inf/classs/**"/>
<استبعاد name = "web-inf/lib/**"/>
<استبعاد name = "web-inf/work/_jsp/**"/>
<lib dir = "$ {lib.dir}" يشمل = "**/*. جرة ، **/*. لذا ، **/*. dll">
<asscame name = "$ {webroot}/$ {helloworld_jar}"/>
</lib>
<lib file = "$ {webroot}/$ {helloword_jar}"/>
<classes dir = "$ {dest}" يتضمن = "**/*. xml ، **/*.
</war>
10. عنصر عقدة علامة Javac
يتم استخدام الملصق لتجميع واحد أو مجموعة من ملفات Java ، وسماتها هي كما يلي.
● يمثل SRCDIR دليل برنامج المصدر.
● يمثل DestDir دليل الإخراج لملف الفصل.
● تشمل يمثل نمط الملف المترجم.
● يستبعد يمثل نمط الملفات المستبعدة.
● يمثل classpath مسار الفصل المستخدم.
● التصحيح يمثل معلومات تصحيح الأخطاء.
● يشير التحسين إلى ما إذا كان يجب استخدام التحسين.
● يمثل المطالب معلومات إخراج مفصلة.
● تم إيقاف FileOnerror تلقائيًا عندما واجه خطأ.
مثال رمز كود النسخ كما يلي:
<javac srcdir = "$ {src}" destdir = "$ {dest}"/>
<!- اضبط ذاكرة JVM
<javac srcdir = "src" fork = "true"/>
<javac srcdir = "src" fork = "true" executable = "d:/sdk141/bin/javac"
MemoryMaximumSize = "128m"/>
->
11. عنصر عقدة علامة Java
يتم استخدام هذه التسمية لتنفيذ ملف .class الذي تم تجميعه ، وسماتها هي كما يلي.
● يمثل اسم className اسم التنفيذ.
● جرة تعني اسم ملف جرة يحتوي على هذه الفئة.
● أعرب classpath عن مسار الفصل المستخدم.
● الشوكة تعني تشغيل هذه الفئة في جهاز افتراضي جديد.
● قال FailOnerror تلقائيًا عند حدوث خطأ.
● الإخراج يشير إلى ملف الإخراج.
● يشير APEND إلى إضافة أو تغطية الملف الافتراضي.
مثال رمز كود النسخ كما يلي:
<java className = "com.hoo.test.helloworm" classpath = "$ {hello_jar}"/>
12. عنصر معلمة بيانات ARG
يمكن للبرنامج الذي يطلق عليه ANT تمرير معلمات سطر الأوامر إليه من خلال عنصر <RG> ، مثل مهام التطبيق و EXEC و JAVA التي يمكن قبولها مع عناصر متداخلة ، ويمكنها تحديد المعلمات المحددة لعملياتها الخاصة . فيما يلي جميع سمات <arg>.
● القيم هي معلمة أمر. إذا كانت هناك مساحة في المعلمة ، ولكن إذا كنت تريد استخدامها كقيمة واحدة ، فاستخدم هذه السمة.
● يمثل الملف اسم ملف للمعلمة. في بناء ملف ، يكون اسم هذا الملف بالنسبة إلى دليل العمل الحالي.
● يشير الخط إلى معلمات متعددة للمساحة مفصولة بالمسافات.
● التعبير عن المسار ، وهي سلسلة تشبه المسار التي يتم استخدامها كمتغير سطر أوامر واحد ؛
● المسار المرجع Pathref (باستخدام مسار تعريف عقدة عنصر المسار) معرف) معرف
● بادئة بادئة ● لاحقة لاحقة
مثال رمز كود النسخ كما يلي:
<arg value = "-la -a"/>
إنه متغير سطر أوامر واحد يحتوي على مساحة.
نسخ رمز رمز على النحو التالي:
<arg line = "-la -a"/>
هذا هو متغير سطر الأوامر مفصولة بمساحة.
نسخ رمز رمز على النحو التالي:
<arg path = "/dir ؛/dir2:/dir3"/>
إنه متغير سطر الأوامر ، وقيمته هي/dir ؛/dir2 ؛/dir3 على نظام DOS ؛/dir:/dir2:/dir3 على نظام UNIX.
13. نوع ericonment
الأوامر أو البرامج الخارجية تسمى الملف الذي يطلق عليه ANT ، وعنصر <rect> الذي يجب أن يتم نقله إلى أوامر النظام التي يتم تنفيذها.
● يمثل الملف اسم ملف قيمة القيمة المحيطة. اسم هذا الملف هو مسار مطلق ليتم تحويله.
● يمثل المسار مسار متغير البيئة. سوف يحولها النمل إلى اتفاقية محلية.
● تمثل القيمة متغيرًا مباشرًا لمتغير البيئة.
● المفتاح يعني الاسم المتغير البيئي.
انتبه إلى مسار الملف أو القيمة التي يمكن أن تأخذ واحدة فقط.
14. قائمة جمع الملفات
FileList هو نوع بيانات يدعم قوائم ملفات التسمية. هنا كل سماتها.
● DIR هو دليل لحساب اسم الملف المطلق.
● الملفات هي قائمة بالملفات مفصولة بفاصلة.
● Refid هي إشارة إلى <fileList> المحددة في مكان معين.
لاحظ أن DIR والملفات ضرورية ، ما لم يُسمح باستخدام ملفات DIR والملفات ما لم يتم تحديدها في هذه الحالة).
مثال رمز كود النسخ كما يلي:
<fileList id = "docfiles" dir = "$ {doc.src}" files = "foo.xml ، bar.xml"/>
جمع الملفات $ {doc.src} /foo.xml و $ {doc.src} /bar.xml.
<fileList id = "docfiles" dir = "$ {doc.src}" files = "foo.xml bar.xml"/>
<filelist refid = "docfiles"/>
<fileList id = "docfiles" dir = "$ {doc.src}">
<file name = "foo.xml"/>
<file name = "bar.xml"/>
</fileList>
15. نوع ملف الملفات
يحدد نوع بيانات Fileset مجموعة من الملفات وعادة ما يتم التعبير عنها كعنصر <PilityEt>. ومع ذلك ، فإن العديد من مهام ANT قد بنيت مجموعة ملفات مخفية ، والتي توضح أنها تدعم جميع سمات مجموعة الملفات والعناصر المتداخلة. فيما يلي قائمة بسمات ملفات الملفات.
● DIR يمثل الدليل الأساسي لمجموعة ملفات.
● إذا كانت قيمة حالات الحالات خاطئة ، فعند مطابقة اسم الملف ، لا يتم تمييز مجموعة الملفات عن الحالة ، وقيمتها الافتراضية صحيحة.
● يتم استخدام DefaultExCludes لتحديد ما إذا كان سيتم استخدام وضع الاستبعاد الافتراضي ، والافتراضي صحيح.
● الاستبعاد قائمة أنماط الملفات التي يجب إرسالها بفصل فاصلة.
● يمثل ExcludesFile اسم ملف ملف يحتوي على وضع استبعاد لكل سطر.
● يتم فصلها بواسطة فاصلة ، وقائمة نمط الملفات التي يجب تضمينها.
● يتضمن Fertfile أن كل صف يتضمن اسم ملف يحتوي على وضع.
مثال رمز كود النسخ كما يلي:
<fileset id = "lib.runtime" dir = "$ {lib.path}/time">
<تشمل name = "**/*. جرة"/>
<include name = "**/*. so"/>
<تضمين name = "**/*. dll"/>
</fileset>
<fileset id = "lib.container" dir = "$ {lib.path}/container">
<تشمل name = "**/*. جرة"/>
</fileset>
<fileset id = "lib.extras" dir = "$ {lib.path}">
<include name = "test/**/*. jar"/>
</fileset>
16. نوع patternet
Fileset هي حزمة من الملفات ، والأنماط معبأة في الأنماط.
يدعم <StateLSet> 4 سمات: تتضمن ، iscorudex ، includexfile ، excludesfile ، والتي هي نفس ملفات الملفات.
يسمح PatternSet أيضًا بالعناصر المتداخلة التالية: تضمين ، استبعاد ، تشمل Filefile و ExcludesFile.
مثال رمز كود النسخ كما يلي:
<!-قائمة بالأبيض والأسود>
<patternet id = "non.test.sources">
<include name = "**/*. Java"/>
<!-يحتوي اسم الملف على استبعاد الاختبار->
<استبعاد name = "**/*test*"/>
</patternset>
<patternset id = "Sources">
<include name = "std/**/*. Java"/>
<!-الحكم على شرط وجود properyperation->
<include name = "prof/**/*. java" if = "professional"/>/>
<استبعاد name = "**/*test*"/>
</patternset>
<!-مجموعة من الملفات->
<patternset يشمل file = "some-file"/>
<StateLSet>
<يشمل اسم fries = "بعض المجاني"/>
<patternet/>
<StateLSet>
<يشمل اسم fries = "بعض المجاني"/>
<يشمل namefile = "$ {some-meher-file}" if = "some mean free"/>
<patternet/>
17. نوع المرشحات
تحدد Filterset مجموعة من المرشحات التي تحل محل نص الملف عندما يتحرك الملف أو Copys.
السمات الرئيسية هي كما يلي:
● يشير Begintoken إلى العلامة التي بحثها المرشح المتداخل ، وهي سلسلة تحددها.
● يشير endtoken إلى أن العلامة التي بحثها المرشح المتداخل هي سلسلة تحدد نهايتها.
● ID هو الشعار الوحيد للمرشح.
● Refid هو إشارة إلى مرشح في مكان ما في ملف البناء.
مثال رمز كود النسخ كما يلي:
<!-@Date@يتم استبداله بـ@Date@إلى التاريخ الحالي اليوم في محتوى ملف الإصدار. txt في الملف الهدف.
<copy file = "$ {build.dir} /version.txt" tofile = "$ {dist.dir} /version.txt">
<filterset>
<filter token = "date" value = "$ {Today}"/>
</filterset>
</copy>
<!-تنسيق متغير مخصص->
<copy file = "$ {build.dir} /version.txt" tofile = "$ {dist.dir} /version.txt">
<!-ابدأ البحث من موضع ٪ في الإصدار.
<filterset begintoken = "٪" endtoken = "*">
<filter token = "date" value = "$ {Today}"/>
</filterset>
</copy>
<!-استخدم ملف تعريف المرشح الخارجي->
<copy today = "$ {dist.dir}/docs">
<fileset dir = "$ {build.dir}/docs">
<include name = "**/*. html">
</fileset>
<filterset begintoken = "٪" endtoken = "*">
<!-يتم تقديم سمات وقيم الملفات من الخارج ، وسمات وقيم المجيء
<filtersfile file = "$ {user.dir} /dist.properties" />
</filterset>
</copy>
<!-استخدم الطريقة المرجعية ، استخدم مرارًا وتكرارًا مجموعة المرشح->
<filterset id = "myfilterset" begintoken = "٪" endtoken = "*">
<filter token = "date" value = "$ {Today}"/>
</filterset>
<copy file = "$ {build.dir} /version.txt" tofile = "$ {dist.dir} /version.txt">
<filterset refid = "myfilterset"/>
</copy>
18. نوع المسار
تُستخدم عناصر المسار لتمثيل فئة ، ولكن يمكن أيضًا استخدامها لتمثيل المسارات الأخرى. عند استخدامها كبضع سمات ، يتم فصل الدرجات المختلفة أو الكولون في الكتاب المقدس. عند الإنشاء ، سيحل هذا الفاصل محل جميع فواصل المسار على النظام الأساسي الحالي ، وسماته هي كما يلي.
● يمثل الموقع ملفًا أو دليلًا. ANT يوسع هذا إلى مسار مطلق داخليًا.
● Refid هو إشارة إلى مسار محدد في الملف البناء الحالي.
● يشير المسار إلى ملف أو قائمة مسار.
مثال رمز كود النسخ كما يلي:
<path id = "buildpath">
<fileset refid = "lib.runtime"/>
<fileset refid = "lib.container"/>
<fileset refid = "lib.extras"/>
</path>
<path id = "src.paths">
<fileset id = "srcs" dir = ".">
<include name = "src/**/*. java"/>
</fileset>
</path>
8. رمز رمز تجميع التعبئة والهندسة الجارية كما يلي: على النحو التالي:
<إصدار XML؟
<!-اسم المشروع الحالي.
<project name = "helloWorld" default = "run" riptired = "."
<!-الخاصية تشبه متغير بسيط في البرنامج->
<propoperty name = "src" value = "src"/>
<property name = "dest" value = "class"/>
<name property = "hello_jar" value = "helloWorld.jar"/>
<!-
الهدف هو الحدث ، والمهمة ، والاسم هو اسم الشيء الحالي.
->
<!-التهيئة->
<name target = "init">
<!
<mkdir dir = "$ {dest}"/>
<mkdir dir = "temp"/>
<mkdir dir = "temp2"/>
</target>
<!-compilation->
<target name = "compile" يعتمد = "init">
<javac srcdir = "$ {src}" destdir = "$ {dest}"/>
<!- اضبط ذاكرة JVM
<javac srcdir = "src" fork = "true"/>
<javac srcdir = "src" fork = "true" executable = "d:/sdk141/bin/javac"
MemoryMaximumSize = "128m"/>
->
</target>
<!-<< 建->
<target name = "build" يعتمد = "compile">
<!-
<jar jarfile = "$ {hello_jar}" reistr = "$ {dest}"/>
قم بإنشاء اسم لملف package.jar
<jar destfile = "package.jar" reistr = "classes"/>
->
<jar destfile = "$ {hello_jar}" reistr = "classses">
<!-أضف محتوى إلى الملف الرئيسي في حزمة JAR->
<Meansest>
<attribute name = "build-by" value = "$ {user.name}"/>
<attribute name = "main-class" value = "package.main"/>/>
</angerest>
</jar>
<!-نسخ ملف جرة TODIR = "نسخ إلى الدليل"->
<copy file = "$ {hello_jar}" tofile = "$ {dest} /temp.jar" />
<copy todir = "test">
<!-DefaultExCludes = ""->
<fileset dir = "src">
<include name = "**/*. Java"/>
</fileset>
</copy>
<copy todir = "temp2">
<fileset dir = "src">
<و>
<تحتوي على نص = "رئيسي"/>
<size value = "1" when = "more"/>
</و>
</fileset>
</copy>
<!-ملف جرة الهاتف المحمول->
<move file = "$ {dest} /temp.jar" tofile = "temp/move-temp.jar"/>
<!-إنشاء zip->
<zip baseness = "$ {injorir}/class" zipfile = "temp/output.zip"/>/>
<!-إنشاء TGZ->
<gzip src = "classses/**/*. class" zipfile = "output.class.gz"/>
<!
<unsip src = "output.class.gz" dest = "extractdir"/>
<! --- استبدل المحتوى القديم
<استبدال ملف = "input.txt" token = "old" value = "new"/>
->
</target>
<! --- Run->
<target name = "Run" يعتمد = "build">
<java className = "com.hoo.test.helloworm" classpath = "$ {hello_jar}"/>
</target>
<!-Clear->
<name target = "clear">
<!-حذف الملف الذي تم إنشاؤه->
<حذف dir = "$ {dest}"/>
<delete file = "$ {hello_jar}"/>
</target>
<Tstamp>
<format property = "Offset_time"
Pattern = "HH: MM: SS"
الإزاحة = "10" وحدة = "دقيقة"/>
</tstamp>
<!-إعادة التشغيل->
<target name = "raun" يعتمد = "Clean ، Run">
<echo message = "### $ {tstamp}#$ {اليوم}#$ {dstamp} ###"/>
<أحب الهدف = "نظيف"/>
<أحب الهدف = "تشغيل"/>
</target>
</project>
هناك الكثير من الأشياء التي لا يزال هناك الكثير من المحتويات. Ant ليس صعبًا. في ظل ظروف معينة ، تم تحسين الكفاءة والعمل المتكرر.