English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مستودعات Maven

في مصطلحات Maven، المكتبة هي موقع (مكان).

مكتبات Maven هي مكتبات الطرف الثالث المطلوبة في المشروع، ويُسمى المكان الذي تحتوي عليه هذه المكتبات بـ 'مكتبة'.

في Maven، أي إعتماد أو إضافة أو مخرجات بناء المشروع يمكن تسميته مكونًا.

مكتبات Maven تساعدنا في إدارة المكونات (على سبيل المثال، JAR)، وهي المكان الذي يتم فيه وضع جميع ملفات JAR (WAR،ZIP،POM،الخ).

مكتبات Maven ثلاثة أنواع:

  • 本地(local)

  • 中央(central)

  • بعيد (remote)

المستودع المحلي

لا يتم إنشاء مستودع Maven المحلي عند تثبيت Maven، بل يتم إنشاؤه أثناء تنفيذ أمر Maven لأول مرة.

عند تشغيل Maven، يتم الحصول على أي عنصر يحتاجه Maven مباشرةً من المستودع المحلي. إذا لم يكن موجودًا في المستودع المحلي، فإنه يحاول أولاً تنزيل العنصر من المستودع البعيد إلى المستودع المحلي، ثم يستخدم العنصر من المستودع المحلي.

بالتشغيل الافتراضي، سواء كان Linux أو Windows، يحتوي كل مستخدم على مسار في مجلد مستخدمه يُدعى .m2/repository.

يتم إنشاء مستودع Maven المحلي بشكل افتراضي في مجلد %USER_HOME%. لتحديد موقع افتراضي آخر، قم بتحديد مسار آخر في ملف settings.xml الخاص بمجلد conf في %M2_HOME%.

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
   http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository>C:/MyLocalRepository</localRepository>
</settings>

عند تشغيل أمر Maven، يقوم Maven بتنزيل ملفات الاعتماد إلى المسار المحدد من قبل المستخدم.

مستودع المركزي

يقدم مستودع Maven المركزي من قبل مجتمع Maven، ويحتوي على العديد من المكتبات الشائعة.

يحتوي مستودع المركزي على معظم العناصر المفتوحة المصدر الشائعة من مكتبات Java، بالإضافة إلى المصادر، معلومات الكتاب، SCM، معلومات، معلومات الترخيص وما إلى ذلك. عادةً، يمكن تنزيل جميع العناصر التي يعتمد عليها مشروع Java بسيط هنا.

مفاهيم أساسية لمستودع المركزي:

  • يتم إدارة هذا المستودع من قبل مجتمع Maven.

  • لا يتطلب تكوينًا.

  • يحتاج إلى الاتصال بالشبكة للوصول إليه.

للإطلاع على محتويات المستودع المركزي، يقدم مجتمع Maven URL:http://search.maven.org/#browseباستخدام هذا المستودع، يمكن للمطورين البحث عن جميع المكتبات القابلة للحصول عليها.

مستودع البعيد

إذا لم يجد Maven ملفات الاعتماد في مستودع المركزي أيضًا، فإنه يوقف عملية البناء ويقوم بإخراج رسالة خطأ إلى الشاشة. للحصول على تجنب هذا الوضع، يقدم Maven مفهوم مستودع البعيد، وهو مستودع تم إنشاؤه من قبل مطورين يمكنهم تخصيصه، يحتوي على مكتبات مطلوبة أو ملفات jar المستخدمة في مشاريع أخرى.

على سبيل المثال، باستخدام pom.xml التالي، سينتقل Maven إلى المستودعات المراقبة لتحميل الملفات المطلوبة المذكورة في pom.xml.

<project xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.companyname.projectgroup</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>
   <dependencies>
      <dependency>
         <groupId>com.companyname.common-lib</groupId>
         <artifactId>common-lib</artifactId>
         <version>1.0.0</version>
      </dependency>
   <dependencies>
   <repositories>
      <repository>
         <id>companyname.lib1</id>
         <url>http://download.companyname.org/maven2/lib1</url>
      </repository>
      <repository>
         <id>companyname.lib2</id>
         <url>http://download.companyname.org/maven2/lib2</url>
      </repository>
   </repositories>
</project>

ترتيب البحث عن الاعتماديات Maven

عندما نقوم بتنفيذ أمر بناء Maven، يبدأ Maven في البحث عن المكتبات المطلوبة وفقًا للترتيب التالي:

  • الخطوة 1 في المستودع المحلي، ابحث عنه، إذا لم تجده، اتبع الخطوة 2، وإذا وجدته، قم بأداء عملية أخرى.

  • الخطوة 2 في المستودع المركزي، ابحث عنه، إذا لم تجده وتم إعداد مستودعات مراقبة واحدة أو أكثر، اتبع الخطوة 4، وإذا وجدته، قم بتحميله إلى المستودع المحلي للمستقبل.

  • الخطوة 3 - إذا لم يتم تعيين مستودع عن بُعد، سيتوقف Maven ببساطة عن المعالجة ويقوم بإطلاق خطأ (لا يمكن العثور على ملف الاعتماد).

  • الخطوة 4 - البحث عن ملفات الاعتماد في مستودعات عن بُعد، إذا تم العثور عليها، يتم تنزيلها إلى مستودع محلي للاستخدام في المستقبل، وإلا فإن Maven سيتوقف عن المعالجة ويقوم بإطلاق خطأ (لا يمكن العثور على ملف الاعتماد).

مستودعات Maven أليون (Aliyun)

مستودعات Maven افتراضياً في الخارج، عند استخدامها في الداخل قد تكون بطيئة، يمكننا تغييرها إلى مستودعات أليون.

تعديل ملف settings.xml الموجود في مجلد conf في جذور Maven، في نقطة mirrors، أضف المحتوى التالي:

<mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
</mirrors>

الخطوة الثانية: أضف إلى ملف pom.xml

<repositories>  
        <repository>  
            <id>alimaven</id>  
            <name>aliyun maven</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>false</enabled>  
            </snapshots>  
        </repository>  
</repositories>