एक एकल मावेन प्लगइन निष्पादन चलाएं?


97

मैंने सोचा था कि मैं एक अनुभवी मावेन उपयोगकर्ता था, लेकिन मैं यह करने के लिए एक मानसिक ब्लॉक कर रहा हूं!

मैं Maven sql प्लगइन का उपयोग करने में सक्षम हूँ, डेटाबेस में स्कीमा को स्थापित करने, बनाने और स्थापित करने के लिए प्लगइन निष्पादन के माध्यम से जो मैंने परिभाषित किया है और pre-integration-testचरण के लिए बाध्य है ।

हालाँकि, अब मैं उसी sql प्लगइन का उपयोग करना चाहूंगा जब भी मैं कमांड लाइन से कुछ नमूना डेटा सम्मिलित करना चाहता हूं - अर्थात, किसी भी जीवनचक्र के लक्ष्य के लिए बाध्य नहीं। नमूना डेटा के कुछ अलग सेट हैं, इसलिए मैं कुछ अलग निष्पादन को परिभाषित करना चाहूंगा।

लेकिन क्या कमांड लाइन से इनमें से किसी एक एग्जीक्यूटिव को चलाने का एक तरीका है, शायद एग्जीकशन आईडी का इस्तेमाल करके?


जवाबों:


134

जैसा कि कमांड लाइन से सीधे मावेन प्लगइन निष्पादन को कैसे निष्पादित किया जाए? , यह कार्यक्षमता MNG-5768 के रूप में लागू की गई है , और मावेन 3.3.1 में उपलब्ध है।

परिवर्तन होगा:

वैकल्पिक @ निष्पादन-आईडी पैरामीटर, जैसे, org.apache.maven.plugins: मावन-रिमोट-रिसोर्स-प्लगइन: 1.0: प्रोसेस @ एक्जीक्यूट की अनुमति देने के लिए डायरेक्ट प्लग इनवोकेशन सिंटैक्स का विस्तार करें।

इसलिए, जब तक आप अपने निष्पादन को एक आईडी देते हैं:

mvn sql:execute@specific-execution-id

अपने पोम में कॉन्फ़िगर किए गए निष्पादन का उपयोग करता है।


यह बहुत अच्छा है :)
गेब्रियलबी

49

लेकिन क्या कमांड लाइन से इनमें से किसी एक एग्जीक्यूटिव को चलाने का एक तरीका है, शायद एग्जीकशन आईडी का इस्तेमाल करके?

नहीं, संभव नहीं । हालांकि यह संभव है कि "ए" कॉन्फ़िगरेशन को परिभाषित करने के लिए उपयोग किया जाए जब प्लगइन कमांड लाइन से "विशेष" default-cliनिष्पादन का उपयोग करके लगाया जाता है :

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>sql-maven-plugin</artifactId>
  <version>1.4</version>
  ...
  <executions>
    <execution>
      <id>default-cli</id>
      <configuration>
        ...
      </configuration>
    </execution>
    ...
  </executions>
</plugin>

और बस बुलाओ mvn sql:execute

विवरण के लिए नीचे देखें ( मावेन 2.2.0 रिलीज नोट्स से ):

  • MNG-3401 - मावेन 2.2.0 में शुरू, कमांड लाइन से सीधे आह्वान किए गए लक्ष्यों को एक विशेष executionIdनाम का उपयोग करके अन्य प्लगइन चालान से अलग पीओएम में कॉन्फ़िगर किया जा सकता है default-cli। जहां पहले, कमांड-लाइन लक्ष्यों के लिए सभी कॉन्फ़िगरेशन को प्लगइन-स्तरीय कॉन्फ़िगरेशन में जाना पड़ता था, मावेन 2.2.0 कमांड-लाइन-विशिष्ट कॉन्फ़िगरेशन को अपने आप में अलग करने की अनुमति देता है <execution>। अधिक जानकारी के लिए, मार्गदर्शिका को डिफ़ॉल्ट निष्पादन आईडी देखें

1
मुझे यकीन है कि आप दो अलग-अलग प्रोफाइलों का उपयोग करके जो चाहें प्राप्त कर सकते हैं
डैनियल कापलान

4
यह उत्तर अब मावेन के वर्तमान संस्करणों के साथ पुराना हो गया है। @
जोए
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.