تتسبب إصدارات Maven المختلفة في تضمين مكتبات إضافية في ملف الحرب

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

  •  26-09-2019
  •  | 
  •  

سؤال

أحاول إنشاء ملف حرب ليتم نشره على خادم Tomcat باستخدام Maven ، لكن لاحظت بعض السلوك الغريب عند بناء ملف الحرب الخاص بي:

عند تشغيل الأمر من مجلد المشروع: mvn clean compile package -DskipTests

  • ينتج Maven الإصدار 3.0 ملف حرب 12.079 ميجابايت (49 ملف جرة في مجلد الويب/LIB)
  • Maven Version 3.0 Beta1 ينتج ملف حرب 8.7 ميغابايت (31 ملف جرة في مجلد الويب/lib)
  • الإصدار Maven 2.11 ينتج ملف حرب 2.3 ميجابايت (3 ملفات جرة في مجلد ويب-إنف/ليب)

ما الذي يمكن أن يتسبب في تضمين ملفات جرة إضافية في المشروع؟ من المفترض أنها ليست ضرورية لأن بناء المشروع باستخدام الإصدار 2.11 عمل بشكل جيد في الماضي.

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

المحلول

كان لدي شيء مماثل يحدث لي. هذا ما حدث.

في Maven 2.x يتم تعيين إصدارات البرنامج المساعد بواسطة Maven نفسها. في Maven 3.x ، ستستخدم "الأحدث" ويعطيك تحذيرًا. في حالتي ، تسبب استخدام إصدار لاحق من البرنامج المساعد المترجم في بعض الاختلافات وإصدار لاحق من البرنامج المساعد التبعية يتسبب في اختلافات أخرى.

بمجرد أن أقوم بتعيين جميع الإصدارات من جميع الإضافات في pom.xml (أفضل ممارسة على أي حال) ، اختفت التناقضات.

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