Maven ، كيفية إضافة libs إضافية غير متوفرة في الريبو

StackOverflow https://stackoverflow.com/questions/2479046

  •  21-09-2019
  •  | 
  •  

سؤال

لديّ مشروع Maven يحتوي على مجموعة من عوامل المكتبات غير المتوفرة عبر أي مستودع Maven. كيف يمكنني إضافة تلك المكتبات إلى POM؟ أريد أن أفعل ذلك ، لذلك عندما أقوم بتشغيل "MVN Eclipse: Eclipse" لا يزيل تلك المكتبات من ClassPath Eclipse.

هل كانت مفيدة؟

المحلول

لديك 3 خيارات:

  • أضف مكتباتك إلى مستودعك المحلي عبر install:install-file (من الواضح أن هذا ليس محمولًا ، فلن تتمكن من إنشاء المشروع على جهاز آخر دون فعل الشيء نفسه).
  • قم بتثبيت وتشغيل "مستودع للمؤسسات" مثل Nexus أو Archiva أو Artifactory وأضف مكتباتك عبر deploy:deploy-file.
  • قم بإعداد مستودع قائم على الملف كما هو موضح في هذا إجابة سابقة ووضع مكتباتك هناك.

ثم ، أعلن مكتباتك في بوم مثل أي تبعية أخرى.

نصائح أخرى

يمكنك أن تعلن أنه اعتماد مع system الكائن.

<project>
...
 <dependencies>
   <dependency>
     <groupId>sun.jdk</groupId>
     <artifactId>tools</artifactId>
     <version>1.5.0</version>
     <scope>system</scope>
     <systemPath>${java.home}/../lib/tools.jar</systemPath>
   </dependency>
 </dependencies>
 ...
</project>

يمكنك تضمينهم مع مشروعك في دليل فرعي (ربما lib/). يمكنك أيضًا توفير ملفات .bat و/أو .sh التي تحتوي على جميع المكالمات المناسبة إلى maven-install-plugin اللازمة لكل عضو في المشروع (أو خادم ENV) لإضافة هذه الجرار إلى الريبو المحلي.

يتيح هذا النهج أعضاء المشروع الجدد الاستيقاظ والتشغيل بسرعة ، دون الحاجة إلى الاستثمار لعدة ساعات في إنشاء ريبو عام جديد لمشروعك أو فريقك.

لا يمكنك "إضافتها إلى البوم". عليك أن تضعهم في بعض الريبو. يمكنك وضعها في الريبو المحلي مع maven-install-plugin ، كما اقترحت رسالة الخطأ. أو يمكنك نشرها في نسخة محلية من Nexus أو شيء من هذا القبيل.

لقد قمت مؤخرًا بإنشاء UI util صغير لتثبيت المكتبات لك مستودعًا محليًا. إنه يعمل بنفس الطريقة install:install-file.

https://github.com/escv/maven-install-ui

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top