تغيير الخصائص في pom.xml في وقت التشغيل مع مهام النمل Maven. هل هو ممكن؟

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

  •  27-09-2019
  •  | 
  •  

سؤال

لدي حالة الاستخدام التالية: يتم تشغيل طلبي باستخدام برنامج نصي ANT ، والذي يسأل المستخدم عدة أسئلة حول تكوين المشروع (إعدادات قاعدة البيانات وما إلى ذلك). يتم تخزين هذه الإعدادات في ملف الخصائص.

ثم أريد تشغيل Maven من داخل البرنامج النصي ANT بواسطة مهام النمل Maven ، والتي يجب أن تحل محل الخصائص المحددة مسبقًا في pom.xml الخاص بي مع خصائص ملف الخصائص. لا أريد تغيير pom.xml.

هل هناك طريقة للقيام بذلك؟ شكرا لك مقدما!

(راجع للشغل ، لقد جربت بالفعل مقاربة مماثلة مع Maven فقط ، والتي يبدو أنها مستحيلة في الوقت الحالي)

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

المحلول

يمكنك إعادة تعريف الخصائص على سطر الأوامر Maven باستخدام -D وسوف تتجاوز هذه الخصائص في ملف مشروعك.

على سبيل المثال ، في pom.xml

  <properties>
     <myProp>A</myProp>
  </properties>

في ant build.xml ، يمكنك بعد ذلك استدعاء سطر أوامر MVN مثل

mvn -DmyProp=B install

والتي ستضع MyProp على B في المشروع. ال صفحة مهمة MVN ANT يناقش استخدام ماكرو لاستدعاء سطر القيادة Maven. يمكن تخصيص ذلك بسهولة لتمرير الخصائص الإضافية.

للقيام بذلك في Maven وحده ، استخدم exec البرنامج المساعد لإطلاق Maven ، تمرير معلمات الأوامر بنفس الطريقة التي يتم بها باستخدام ANT: Java Task.

نصائح أخرى

هل حاولت استبدال الخصائص أثناء الطيران <copy> مهمة النمل؟

افترض أن ممتلكاتك في الملف settings.properties. حدد خصائص الاستبدال في pom.xml مع @ من حولهم ، يمكنك نسخ ملف POM واستبدال بعض الخصائص في نفس الوقت. على سبيل المثال:

<copy file='pom.xml' toFile='real-pom.xml'>
  <filterset filtersfile='settings.properties' />
</copy>

ثم تستدعي Maven:

mvn -f real -pom.xml

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