हाय मैं मैवेन के लिए बहुत नया हूं। मैं मैवेन प्लग-इन निष्पादन के क्रम को बदलना चाहता हूं। मेरे pom.xml में मेरे पास मेवेन-असेंबली प्लग-इन और मैवेन एंटी प्लग-इन है। ज़िप फ़ाइल को किसी अन्य निर्देशिका से कॉपी करने के लिए ज़िप फ़ाइल और मेवेन एंटी प्लग-इन बनाने के लिए मैवेन असेंबली प्लग-इन का उपयोग किया गया। जब मैं pom.xml maven ant plug-in चलाता हूं तो ट्रिगर हो जाता है और ज़िप फ़ाइल की तलाश में अंततः मुझे त्रुटि मिली है कि ज़िप फ़ाइल नहीं मिली है। कृपया मुझे उस मेवेन एंट प्लग को चलाने की जरूरतों के बाद मेवेन असेंबली प्लग को चलाने के तरीके का सुझाव दें ताकि वह ज़िप फ़ाइल को इसी निर्देशिका में कॉपी कर सके।मैवेन प्लगइन निष्पादन के आदेश को बदलना
उत्तर
चूंकि आप कहते हैं कि आप मेवेन के लिए बहुत नए हैं .... मेवेन बनाता है चरणों की एक क्रमबद्ध श्रृंखला के निष्पादन। इन चरणों को lifecycle द्वारा निर्धारित किया गया है जो आपकी परियोजना based on its packaging के लिए उपयुक्त है।
इसलिए, आप नियंत्रण जब एक प्लगइन के लक्ष्य binding it to a particular phase द्वारा निष्पादित किया जाता है।
उम्मीद है कि मदद करता है।
संपादित करें: इसके अलावा, Maven 3.0.3 के बाद से, एक ही चरण करने के लिए बाध्य दो प्लग-इन, निष्पादन के आदेश के क्रम है जिसमें आप उन्हें परिभाषित के समान है। उदाहरण के लिए:
<plugin>
<artifactId>maven-plugin-1</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
...
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-plugin-2</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
...
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-plugin-3</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>generate-resources</phase>
...
</execution>
</executions>
</plugin>
ऊपर उदाहरण में, निष्पादन आदेश होगा:
- Maven-प्लगइन-3 (उत्पन्न-संसाधन)
- Maven-प्लगइन-1 (प्रक्रिया-संसाधन)
- Maven-प्लगइन-2 (प्रक्रिया-संसाधन) एक ही चरण में
आपकी प्रतिक्रिया के लिए धन्यवाद। – user1062115
प्लगइन्स घोषित क्रम में क्रियान्वित कर रहे हैं।
जनक pom.xml:
पोम पदानुक्रम के मामले में, आप निष्पादन आदेश निर्दिष्ट करने के लिए बच्चे को पोम पोम में माता-पिता (सिर्फ अपने ग्रुप और उसके artifactId) से प्लगइन्स फिर से घोषित करने के लिए है
<plugins>
<plugin>
<groupId>groupid.maven.1</groupId>
<artifactId>maven-plugin-1</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
बाल pom.xml
<plugins>
<plugin>
<groupId>groupid.maven.2</groupId>
<artifactId>maven-plugin-2</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>groupid.maven.1</groupId>
<artifactId>maven-plugin-1</artifactId>
</plugin>
</plugins>
तब निष्पादन है:
- maven.plugin.2
- maven.plugin.1
Maven 3.0.3 और बाद, वहाँ दो नियमों
- प्लगइन हैं निष्पादन उनके चरणों के अनुसार आदेश दिया जाता है। https://maven.apache.org/ref/current/maven-core/lifecycles.html चरणों के क्रम के लिए देखें।
उदाहरण के लिए, यहाँ mavin-प्लगइन-1 क्योंकि प्रक्रिया-संसाधनों चरण संकलन चरण से पहले हो रही के रूप में परिभाषित किया गया है इससे पहले कि Maven-प्लगइन-2 निष्पादित किया जाता है।
<plugin>
<artifactId>maven-plugin-2</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>compile</phase>
...
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-plugin-1</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
...
</execution>
</executions>
</plugin>
- कई सज़ाएँ एक ही चरण है, तो पहले एक होने की निष्पादित किया जाएगा निर्मित एक (जैसे Maven-संकलक प्लगइन) जिसका आईडी default- कुछ है, तो अन्य फांसी क्रम में वे अपने पोम फ़ाइल में दिखाई में जगह ले जाएगा।
, आप अपने पोम
<plugin>
<artifactId>maven-plugin-1</artifactId>
<version>1.2.3</version>
<executions>
<execution>
<id>my-compile</id>
<phase>compile</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-plugin-2</artifactId>
<version>4.5.6</version>
<executions>
<execution>
<id>my-compile-2</id>
<phase>compile</phase>
</execution>
</executions>
</plugin>
में यह कहीं नहीं है और अपने प्रभावी पोम में यह कहीं भी हो, तो
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<executions>
<execution>
<id>**default-compile**</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
...
</executions>
</plugin>
तो maven-संकलक प्लगइन Maven-compiler- निष्पादित करेंगे प्लगइन के बाद maven-plugin-1, और maven-plugin-2।
यदि आप चाहते हैं Maven-संकलक प्लगइन: के बाद निष्पादित करने के लिए लक्ष्य को संकलित Maven-प्लगइन-1 तो तुम कर सकते हो इस
<plugin>
<artifactId>maven-plugin-1</artifactId>
<version>1.2.3</version>
<executions>
<execution>
<id>my-compile</id>
<phase>compile</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<executions>
<execution>
<id>something-other-than-**default-compile**</id>
<phase>compile</phase>
</execution>
<execution>
<id>**default-compile**</id>
<phase>none</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
- 1. मैवेन प्लगइन
- 2. मैवेन प्लगइन
- 3. मैवेन प्लगइन ग्रहण
- 4. निष्पादन आदेश
- 5. मैवेन-रिलीज-प्लगइन
- 6. मैवेन प्लगइन संस्करण को कैसे लॉक करें
- 7. मैवेन जार प्लगइन
- 8. एएसपी.Net निष्पादन आदेश
- 9. hook_preprocess_node() निष्पादन आदेश
- 10. Drupal hook_cron निष्पादन आदेश
- 11. Parallel.ForEach आदेश दिया निष्पादन
- 12. बढ़ावा :: थ्रेड निष्पादन आदेश
- 13. मैवेन प्लगइन एक और प्लगइन निष्पादित
- 14. एक्शन फ़िल्टर निष्पादन आदेश
- 15. ग्रैडल डूफर्स्ट() निष्पादन आदेश
- 16. सी # निर्माता निष्पादन आदेश
- 17. प्लगइन निष्पादन जीवन चक्र विन्यास
- 18. एचटीएमएल पार्स आदेश/स्क्रिप्ट निष्पादन आदेश
- 19. MKMapView एनोटेशन बदलना/खोना आदेश?
- 20. जीएडिट/पायथन निष्पादन प्लगइन?
- 21. Maven JAXB2 XJC प्लगइन: M2E प्लगइन निष्पादन
- 22. मैवेन निष्पादन के विभिन्न चरणों को कैसे समय दें
- 23. dispatch_async बनाम dispatch_sync निष्पादन आदेश
- 24. एएसपी.नेट एमवीसी: ValueProviders के निष्पादन का आदेश
- 25. वाईएक्स सेटप्रोपर्टी क्रियाओं के निष्पादन का आदेश
- 26. कठपुतली नोड्स.पीपी मॉड्यूल निष्पादन आदेश
- 27. एफएस के जेएसएफ निष्पादन आदेश: घटना
- 28. मैवेन प्लगइन के संस्करण को अपग्रेड कैसे करूं?
- 29. मैवेन-वेबस्टार्ट-प्लगइन रनटाइम निर्भरताओं को शामिल करने के लिए
- 30. मैवेन-बंडल-प्लगइन के साथ ओएसजीआई निर्भरताओं को स्थापित करना
इसका ध्यान देने योग्य है कि आप एक कदम है कि किसी फ़ाइल से कोई संपत्ति पढ़ता है, तो आप उस संपत्ति का उपयोग पोम में बाद के चरणों में नहीं कर सकते ... देखें [यह पोस्ट] (http://stackoverflow.com/questions/8541332/maven-read-version-number-from-property-file/27782825# 27782825) –