सीधे कमांड लाइन से मावेन प्लगइन निष्पादन कैसे करें?


95

मेरे पास एक प्लगइन (एंटीरन) है जिसमें एक कॉन्फ़िगर कॉन्फ़िगर किया गया है जिसमें एक आईडी है और किसी भी चरण में बाध्य नहीं है। क्या मैं इस निष्पादन को सीधे कमांड लाइन से निष्पादित कर सकता हूं?

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>my-execution</id>
      ...
    </execution>
  </executions>
</plugin>

इसे कुछ इस तरह से चलाएं:

mvn my-execution

या कम से कम

mvn magicplugin:execute -DexecutionId=my-execution

जवाबों:


130

यह कार्यक्षमता MNG-5768 के रूप में लागू की गई है , और मावेन 3.3.1 में उपलब्ध है।

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

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

तो, आपके मामले में:

mvn antrun:run

default-cliनिष्पादन आईडी का उपयोग करता है , और:

mvn antrun:run@my-execution

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


1
विरूपण साक्ष्य आईडी "मावेन-एंट्रन-प्लगइन" से हम कैसे जानते हैं कि यह सिर्फ "एंट्रन" है जिसका उपयोग किया जाना चाहिए mvn antrun:run?
mks-d

1
@ mks-d देखें pluginGroupsकि org.apache.maven.plugins:maven-antrun-pluginइसे क्यों भेजा जा सकता है antrun
जो

1
@Joe धन्यवाद, प्लगइन समूहों के शीर्ष पर वहाँ भी प्लगइन उपसर्ग संकल्प तंत्र जाहिरा तौर पर ...
MKS-डी

51

अपने मावेन प्लगइन को निष्पादित करने का सबसे सीधा साधन प्लगइन लाइन को सीधे कमांड लाइन पर निर्दिष्ट करना है।

mvn groupId:artifactId:version:goal

पर अधिक जानकारी: मावेन प्लगइन्स के लिए विकास गाइड


1
लेकिन मैं वास्तव में "डिफ़ॉल्ट-क्ली" निष्पादन कैसे चला सकता हूं? यदि प्लगइन परिभाषा में कई निष्पादन हैं।
एंटोन बालाशोव

मैं चलाने के लिए स्प्रिंग बूट जसपट यूटिलिटी प्लगइन पाने के लिए लड़ रहा था, और जो भी कारण हो, मुझे मावेन द्वारा मान्यता प्राप्त करने का एकमात्र तरीका उपरोक्त सलाह का पालन करना था। सीधे लक्ष्य को निर्दिष्ट करना ( mvn jasypt:encrypt ...) पर्याप्त नहीं था। धन्यवाद @ डिमित्रि-डेवले
माइक

15

आप जो खोज रहे हैं वह डिफ़ॉल्ट + प्लगइन + निष्पादन + आईडी में कैप्चर किया गया है लेकिन वर्तमान में मेरे ज्ञान का समर्थन नहीं किया गया है। हालाँकि, MNG-3401 की टिप्पणियों के अनुसार (उन्हें अंत तक पढ़ें):

कमांड लाइन से सीधे मंगवाए गए मोजोज के लिए, आप निष्पादन के लिए POM से कॉन्फ़िगरेशन की आपूर्ति कर सकते हैं: इस तरह 'डिफ़ॉल्ट-क्ली':

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <executions>
    <execution>
      <id>default-cli</id>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
          <descriptorRef>project</descriptorRef>
        </descriptorRefs>
      </configuration>
    </execution>
  </executions>
</plugin>

यह मावेन 2.2.0 और 3.x में काम करना चाहिए।

शायद यह आपके लिए पर्याप्त होगा।


यदि आपका उत्तर सही है तो यह प्रश्न घटना नहीं थी;)।
टोनी केमिट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.