Maven
ما هو Maven؟
كتب Maven Jason van Zyl. خرج Apache Maven 1.0 سنة 2004. قائمة المشروع في ملف pom.xml. هذا الاسم يعني Project Object Model. Maven Central المكان المشترك للمكتبات. mvn compile يفحص الكود ويحوّله إلى ملف صنف. mvn package يخرج الأرشيف الجاهز. لغة Java تقول القاعدة. Maven يرتب عمل استخدام تلك القاعدة. Gradle يبني Java أيضاً لكنه يكتب القائمة كسكربت. Maven يحفظ القائمة في pom.xml بشكل ثابت.
فيمَ يُستخدم Maven؟
Maven لبناء مشروع Java بالخطوات نفسها وجلب مكتبة من قائمة واحدة.
- تحويل الكود إلى ملف صنف
- فتح الاختبار بـ mvn test
- كتابة مكتبة في pom.xml
- إخراج أرشيف jar جاهز
ماذا يمكن فعله باستخدام Maven؟
بـ Maven تنزّل اعتماداً وتشغّل الاختبار وتبني الأرشيف. هو لا يكتب برنامج Java نفسه. إذا أخطأت نسخة Java يتوقف البناء. مكتبة لا تعرفها تدخل مشروعك. Maven لا يقرأ ملف Gradle.
هل تعلم Maven صعب؟
أمر واحد في مشروع فارغ سهل. الصعوبة في النسخة والمستودع. قد تطلب مكتبتان الاسم نفسه بنسخة مختلفة. حين يكبر pom.xml يضيع أي سطر يجلب ماذا. المستودع المحلي يحفظ ملفاً قديماً وقد يخفي تنزيلاً جديداً. إذا انقطعت الشبكة لا تأتي حزمة من Central.
المزايا والحدود
الميزة: الخطوات مألوفة والقائمة في ملف واحد والبناء نفسه يتكرر على جهاز آخر. الحد: pom.xml يطول. Maven ليس Java وليس Gradle.
أفكار أساسية
pom.xml القائمة. الاعتماد مكتبة تُجلب. الهدف اسم خطوة بناء واحدة.
- compile يترجم الكود
- test يشغّل الفحص
- package يخرج الأرشيف
- Maven Central المكان المشترك
مثال قصير
هذا الأمر يحزّم مشروع Java في المجلد الحالي. لا يكتب الكود نفسه.
mvn package
أسئلة شائعة
- هل Maven وJava الشيء نفسه؟ لا. Java تشغّل اللغة. Maven يبني المشروع ويجلب المكتبة.
- هل Maven وGradle الشيء نفسه؟ لا. كلاهما يقدر أن يبني Java. Maven يحفظ القائمة في pom.xml. Gradle يكتب القائمة كسكربت.
- هل pom.xml هو البرنامج نفسه؟ لا. هو الاسم وقائمة المكتبات.