سؤال

أريد أن أقوم بتشغيل مرحلة تثبيت exec بسيطة. ما هي أبسط طريقة ممكنة لتحقيق ذلك؟ (دون إضافة مكونات إضافية جديدة)

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

المحلول

إذا كنت ترغب في تشغيل هذا الأمر كجزء من دورة حياة الإنشاء العادية، فلا توجد طريقة أخرى من ربط exec الهدف في ذلك install مرحلة:

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>1.1.1</version>
      <executions>
        <execution>
          <id>my-exec</id>
          <phase>install</phase>
          <goals>
            <goal>exec</goal>
          </goals>
          <inherited>false</inherited>
        </execution>
      </executions>
      <configuration>
        <executable>COMMAND</executable>
      </configuration>
    </plugin>
  </plugins>
</build>

فعلت اختبار بسيط باستخدام التكوين أعلاه (باستخدام ls ك "قيادة") مع مشروع Maven تم إنشاؤه حديثا وتشغيله mvn install تنتج الناتج التالي:

تثبيت MVN $ [معلومات] مسح للمشاريع ... [معلومات] ----------------------------------- ------------------------------------- [معلومات] بناء Maven-exec-testcase [معلومات] --الجزء: [تثبيت] [معلومات] ----------------------------------------- ------------------------------- ... [معلومات] [تثبيت: تثبيت {التنفيذ: افتراضي التثبيت}] [ معلومات. Testcase / 1.0-snapshot / Maven-EXEC-TESTCASS-1.0-Snapshot.jar [Info] [Exec: Exec -------------------------------------------------- --------------------- [معلومات] بناء ناجحة [معلومات] --------------------- -------------------------------------------------- - [معلومات] إجمالي الوقت: 12 ثانية [معلومات] الانتهاء في: Tue Jan 05 19:26:04 CET 2010 [معلومات] الذاكرة النهائية: 11M / 75M [معلومات] ------------- -------------------------------------------------- ---- -

كما نرى، يتم تنفيذ الأمر في نهايةالمطاف التابع install المرحلة (بعد نسخة من قطعة أثرية إلى مستودع محلي).

وإذا كنت لا ترغب حقا في إضافة المقتطف إلى بوم الخاص بك، فسيتعين عليك استدعاء صراحة exec:exec بعد install في سطر الأوامر كما اقترح عن طريق ولي.

نصائح أخرى

تنتهي دورة حياة مافن الافتراضية مع ثبيت و نشر الأهداف - لا توجد نسخة مسبقة من تلك الأهداف.

الخيارات المحتملة ستكون:

  • ربط EXEC: Exec Mojo مع مرحلة النشر. كنت أحذرك من هذه الفكرة حيث أن مرحلة النشر تهدف حقا إلى نشر القطع الأثرية إلى مستودع من البعيد في مافن.

  • قم بتشغيل EXEC: Exec Mojo بعد تثبيت الهدف في الاحتجاج MVN الخاص بك ... على سبيل المثال:

    MVN Clean Install Exec: EXEC -DEXEC.EXECUTABLE = "YourCommand" -dexec.args = "الحجج"

  • إذا كان لديك مشروع متعدد الوحدات النمطية، فقم بإنشاء وحدة نمطية أخرى في نهايةu003Cmodules> وربط exec: exec لأي من الأهداف المعتادة ضمن تلك الوحدة. سيؤدي ذلك إلى إجبار هذه الوحدة بالذات على الاشتراك في افتراض آخر معايير المفاعل ينظر في لم تلبي. استراتيجية شائعة أستخدمها مع مشاريع Maven أعمل "عندما تكون في شك، قم بإنشاء وحدة أخرى".

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