الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعرف على Ant

بدأه djug في 9 يوليو 2009 · 27 رد · 2,778 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تعرف على ant

الهدف من هذا المقال هو تعريف الـ ant لمطوري الجافا الذين لم يستعملوا هذه الأداة من قبل. و لتبين الفائدة المرجوة من هذه الأداة سنعقد مقارنة بين مشروعين أحدها يتم إنشاؤه و ترجمته باستعمال سطر الأوامر و الآخر باستعمال الـ Ant . متابعة ممتعة

أ.1. مقدمة

Ant عبارة عن مشروع مفتوح المصدر مقدم من Apache مكتوب بالجافا، الهدف من كل هذا هو توفير أداة تسمح بأتممة العمليات المتكررة بكثرة طيلة المدة التي تستغرقها كتابة المشروع.

Ant متوفر للتحميل على العنوان التالي:

http://ant.apache.org.

لتقريب الصورة و توضيحها أكثر ، يمكن مقارنة Ant بالأداة الشهيرة make الخاصة بنظام التشغيل unix . لكن Ant موجه للعمل بعض النظر عن نظام التشغيل الذي يعمل عليه.

حجز الزاوية في ant هو ملف XML يحوي مجموعة الأوامر الواجب تنفيذها، توفر الأداة مجموعة من العمليات الشائع استعمالها (على هيئة java class) ، كما أنه من الممكن كتابة أوامر أخرى لأتممتها حسب حاجة المبرمج,

شهرة ant و قوته دفعت بـمختلف IDE الخاصة بالجافا بدعمه، يمكنك إيجاد ant في مختلف الـ IDE المتوفر للـ java كـ Eclipse و Netbeans

أ.2. تنصيب ANT :

تنصيب ANT سهل جدا حيث أنه يكفي عمل التالي:

1. فك ضغط الـ ant في مجلد (مثلا D:\apache-ant-1.7.1)

2. إنشاء متغير نظام جديد اسمه ANT_HOME حيث يكون محتواه مسار المجلد السابق.

3. إضافة %ANT_HOME%\bin إلى المتغير path

ب‌. إنشاء مشروع باستعمال سطر الأوامر:

في هذا الدرس سنضع كل نوع من الملفات لوحده:

• الكود المصدري (ملفات .java) في مجلد src

• ملفات .class في مجلد bin

• ملفات .jar في مجلد exe

لإنشاء هذه المجلدات ما علينا سوى استعمال الأمر Md متبوعا باسم المجلد لإنشائه (في linux يجب استبدال الـ md بـ mkdir و الـ \ بالـ /)

سينتج لنا التشعب التالي:

1247132212537.gif

ب.1. الترجمة:

ننشئ المجلد src فقط الآن باستعمال الأمر

Md src

الصنف التالي يقوم بإظهار العبارة الشهيرة Hello World في شاشة سطر الأوامر

package org.sdf;

 public class HelloWorld {
 public static void main(String[] args) {
 System.out.println("Hello World");
 }
 }

كما هو ظاهر من اسم الـ package يجب وضع الملف HelloWorld.java الذي يحوي هذا الصنف في التشعب src/org/sdf

1247132213597.gif

الآن سنقوم بترجمة البرنامج و من ثم تشغيله

md bin
 javac -sourcepath src -d bin\ src\org\sdf\HelloWorld.java
 java -cp bin org.sdf.HelloWorld

ستظهر لك العبارة الشهيرة:

Hello World

لاحظ أنه صار لنا الآن التشعب التالي:

1247132213641.gif

ب.2. إنشاء ملف الـ jar :

إنشاء ملف الـ jar ليس بالأمر الصعب و إنما يمر بعدة مراحل و هي كالتالي:

1. إنشاء ملف manifest يحتوي على اسم الـصنف الرئيسي في المشروع main-class

2. إنشاء المجلد exe

3. و من ثم القيام بتوليد الـ jar

يمكن القيام بكل هذا عن طريق سطر الأوامر و ذلك كالتالي:

echo Main-Class: org.sdf.HelloWorld>Manifest
 md exe
 jar cfm exe\HelloWorld.jar Manifest -C bin .

بعد تنفيذ هذه الأوامر يصبح التشعب على النحو التالي:

1247132448338.gif

ب.3. تنفيذ البرنامج:

لتنفيذ البرنامج نكتب الأمر التالي:

java -jar exe\HelloWorld.jar

ج. إنشاء المشروع باستعمال ANT

سنقوم الآن بإن%u

ANT.rar

تم تعديل هذه المشاركة بواسطة djug في 16 يوليو 2009 في 22:48

1
#2

موضوع جميل

جزاك الله خيرا على مجهودك

وإلى الامام

الايميل غير صحيح

يرجى تصحيح الايميل برسالة لأحد مدراء المنتدى

#3

بأمانة أقل ما يقال عن المقالة أنها رائعة

أريد أن أسأل سؤال

وبما أنك المترجم ولست الكاتب

فالسؤال لمن يعرف الجواب

لو كان برنامجي يعتمد على pckage ما

فكيف يمكنني أن أقوم بإضافتها في ant

هل هناك أدوات تساعد في كتابة ملف build.xml

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#4
اقتباس
لو كان برنامجي يعتمد على pckage ما

فكيف يمكنني أن أقوم بإضافتها في ant

هل تقصد الـ import

لكن هل فعلا نحتاح إلى إضافتها في ANT

لأنه ANT يقوم فقط بأتممة مهمات روتينية

جرب كودا صغيرا فيه بعض الـ import و قم بالاستعانة بـ ANT لترجمته (لا أظن أنه هناك أخطاء ستظهر)

#5

بالضبط أقصد import لكني أقصد استحضار مكتبة غير المكاتب المضمنة في جافا

مكتبة من third party

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#6

الوسم javac يقبل الخاصية "classpath"، ويمكنك أن تحدد فيه المكتبات التي تحتاجها خلال الcompilation

<javac srcdir="${src.dir}" destdir="${bin.dir}" classpath="library.jar"/>

وأيضا يجب إضافة المكتبة المستعملة إلى الclasspath في الmanifest


<mkdir dir="exe"/>
<jar destfile="exe/HelloWorld.jar" basedir="bin">
<manifest>
<attribute name="Main-Class" value="org.sdf.HelloWorld"/>
<attribute name="Class-Path" value="myLibrary.jar"/>
</manifest>
</jar>
</target>
<target name="jar" depends="compile">

هذا حسب علمي، لكن انتظر رد صاحب المقال للتحقق

#7

طيب ماذا لو كان عندي أكثر من مكتبة

كيف أفصل بينهم؟؟؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#8

تفرق بينهم بالفاصلة على ما أعتقد

#9

طيب هل يمكنني أن أستخدم مجلد ما أضع فيه هذه المكتبات؟؟؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#10

يا سي علاء ما فهمت مبتغاك

والant ما استعملته من مدة يعني نسيت على كثير من الأشياء

أخلي الإجابة لصاحب الموضوع

وممكن يساعدك موقعهم

http://ant.apache.org/manual/index.html

#11
herch كتب:
<br /><div align="right">يا سي علاء ما فهمت مبتغاك<br />والant ما استعملته من مدة يعني نسيت على كثير من الأشياء<br />أخلي الإجابة لصاحب الموضوع<br /><br />وممكن يساعدك موقعهم<br /><a href="http://ant.apache.org/manual/index.html" target="_blank">http://ant.apache.org/manual/index.html</a><br /> </div><br />
<br /><br /><br />

صاحب الموضوع لم يقم سوى بالترجمة

على كل حال جربت استعمال مكتبات خارجية (طبعا يا علاء استعملت JADE :D )

قم بتشغيل ملف الـ ANT باستعمال eclipse كالتالي:

124724580064.gif

ثم

إضافة المكتبات كالتالي:

1247245800169.gif

و تمت الترجمة بنجاح

#12

بالتوفيق لك سواء في الترجمة أو غيرها

تم تعديل هذه المشاركة بواسطة herch في 10 يوليو 2009 في 23:18

#13

أنا شكلي لازم أتعرف على الحج جاد علشانك مخصوص يا djug

شكراً herch سأقرأ عنها بإذن الله

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#14

السلام عليكم

لقد قمت بتنصيب الANT وانشاء المتغير الجديد ولكن بعد استدعاء الANT في موجه الأوامر بقيت غير معروفة ربما يجب تحديد مسار Bin

المهم أتمنى أن يعاد الشرح لهذه النقطة

وماهو ميدان استخدام ANT أضن في editeur de developpement des programmes tel que netBeans et Eclips

لأنه مباشرة بعد انشاء تطبيق جديد سوف يتم انشاء مجلد خاص بالسورس وعند الكومبايل سيتم انشاء مجلد وملفات الكلاس وعند التنفيذ سيتم انشاء الملف التنفيذي جار وهكذا ف الANT هي المستخدمة على ما أعتقد أوأين أهمية استخدامها؟

#15

أخت Asminf

هل قمت بعمل الخطوة التالية:

3. إضافة %ANT_HOME% إلى المتغير path

إن كان الجواب بنعم:

هل يمكن أن تقومي بنسخ محتوى المتغير path في مشاركتك القادمة لمعرفة مكمن الخطأ

#16

نعم لقد قمت بإضافة %ANT_HOME% إلى المتغير path

و محتوى المتغير pathهو:

c:\windows\system32;c:\windows;c:\windows32\wbem; e:\apache-ant-1.7.1\bin

ولو كتبت Ant في موجه الأوامر تظهر لي الرسالة التالية:

ant_home is set incorrectly or ant could not be located. Please set Ant_home

هل من أحد يعلم الجواب بعلما بأني تتبعت الخطوات بدقة.

#17

على فكرة جيد أنك نبهتينا لهذه النقطة

بالنسبة لما يضاف إلى المتغير path ليس %ANT_HOME% فقط

وإنما المجلد bin الموجود في مكان تنزيل ANT

أرجو من الأخ djug التعديل على الموضوع

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#18

السلام عليكــم ورحمـة الله وبركاتــه ،

وأخيرا تم تنفيذ الAnt والانشاء ملف البايت كود و ملف الجار وتنفيذ البرنامج HelloWorld

وذلك بحذف المتغير ant_home واضافة مسار ال Bin of Ant مباشرة في ال path كمايلي

path=.....;e:\apache-ant-1.7.1\bin;

ولكن عن سبب رفض المتغير ant_home لا أدري السبب

#19

ممممممممممممم

لا أحياناً المتغير ANT يلزم في ملفات الباتش التي تأتي مع البرامج التي تستخدم ant في بنائها لهذا يوصى بوضعه

لكن في حالتك فأنتي تريدين تشغيل ant على برنامجك

وهو ما لا يحتاج سوى إضافة مسار المجلد bin

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#20

نعم ما يجب إضافته إلى path هو %ANT_HOME%\bin و ليس %ANT_HOME% فقط

سأقوم بالتعديل على الموضوع

بارك الله فيكم

#21

وهو الأصح ، جربته ونجح مع اضافة المتغير Ant_Home

اقتباس
لا أحياناً المتغير ANT يلزم في ملفات الباتش التي تأتي مع البرامج التي تستخدم ant في بنائها لهذا يوصى بوضعه

المقصود اذن فالأنت لا تستخدم مع الجافا فقط؟

وأن فائدة اضافة متغير نظام جديد له علاقة مباشرة مع ملفات البات والملفات النظام التنفيذية، المقصود الفائدة من اضافة متغير نظام جديد

#22

لأ ant تستخدم مع جافا فقط على حد علمي

لكن هناك سيرفر مثل JBoss يعتمد على جافا بشكل أساسي

ويحتاج ant في بنائه

ملاحظة على الهامش لا تكتبي مصطلحات إنجليزية فللوهلة الأولى لم أفهم كلمة أنت ant التي أشرتي إليها في كلامك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#23

أظن أنه يمكن استعمال ant مع لغات غير جافا، كل ما يجب فعله هو إضافة المكتبات المناسبة

مثلا هناك مشروع cpptasks لc++

http://ant-contrib.sourceforge.net/cpptasks/index.html

NAnt ل.NET

http://nant.sourceforge.net/

تم تعديل هذه المشاركة بواسطة herch في 17 يوليو 2009 في 14:11

1
#24
اقتباس
ملاحظة على الهامش لا تكتبي مصطلحات إنجليزية فللوهلة الأولى لم أفهم كلمة أنت ant التي أشرتي إليها في كلامك

أوكي Ok المرة الجاية ان شاء الله

#25

أخ herch أظن أن هذه البرمجيات هي تقليد لـ ant

بنفس الفكرة تقريباً

أظن ant تقوم بتحزيم المشروع بدلاً من المستخدم

لهذا فهي مفيدة في البرمجيات مفتوحة المصدر

حيث تقوم بالتعديل على البرنامج وتستخدم ant لبناء البرنامج

كما أنها مفيدة لإزالة العمليات المتكررة

على كل مادام الموضوع متعلق بـ xml

فيمكن لأي أحد أن يقوم بعمل ant

أخت asminf

<_< :angry: :( :wacko: :blink:

الترجمة للوجوه سأقتلك مالم تكفي عن كتابة الكلمات الإنجليزية بالعربية

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة