मैं अपने परीक्षण को छोड़ने के लिए मावेन-रिलीज़-प्लगइन कैसे प्राप्त कर सकता हूं?


177

मैं परीक्षण शुरू किए बिना चलाने के लिए मावेन-रिलीज़-प्लगइन कैसे प्राप्त कर सकता हूं?

मैंने कोशिश की है

-Dmaven.test.skip=true 

तथा

-DskipTests 

तथा

-DpreparationGoals=clean

... फिर भी कोई काम नहीं।

हाँ, मुझे पता है कि मुझे परीक्षण जारी नहीं करना चाहिए, लेकिन मुझे अपने सहकर्मियों को विश्वसनीय परीक्षण लिखने पर नियंत्रण नहीं है।

जवाबों:


406

-Darguments="-DskipTests" वह है जो आप चाहते हैं, या स्पष्ट रूप से पोम में कांटे के निष्पादन को कॉन्फ़िगर करना।


1
यह मेरे लिए काम करता है, धन्यवाद और +1 लेकिन ... क्या यह आवश्यक है?
javamonkey79

5
आईटी आवश्यक है क्योंकि रिलीज प्रक्रिया एक नई मावेन प्रक्रिया की मांग करती है, और सिस्टम गुणों के रूप में tpical -DskipTests को पारित नहीं किया जाता है।
एडी

4
काश मैं तुम्हें वोट कर सकता 2। मैंने इस अधिकार को पाने के लिए घंटों बिताए ... लेकिन 1. क्या मुझे प्रलेखन में कुछ याद आया या क्या mvan प्रलेखन कुछ याद आ रहा है? 2. मैंने <skipTests>true</skipTests>अपनी कंपनी POM में कॉन्फ़िगर किया था । फिर भी काम नहीं हुआ। जो काम किया वह आपका समाधान था।
पुलक अग्रवाल

क्या इस काम को करने के लिए आपको पोम में कुछ विशिष्ट विन्यास की आवश्यकता है?
डेन्कोबॉय

42

-Darguments="..."फ़ॉक्ड मावेन प्रक्रिया के लिए तर्क पारित करता है, लेकिन यह महसूस करना महत्वपूर्ण है कि यहां दो अलग-अलग स्विच का उपयोग किया जा रहा है। -DskipTestsबलों किसी भी परीक्षण नहीं चलाने के लिए maven, लेकिन परीक्षण अभी भी संकलित कर रहे हैं (इस महत्वपूर्ण यदि आप एक परीक्षण-जार प्रकार पर किसी भी निर्भरता है)। -Dmaven.test.skip=trueबलों के लिए maven भी परीक्षण, जिसका अर्थ है कि किसी भी परीक्षा-जार उत्पन्न नहीं की जाएगी संकलन नहीं।

तो, आप का उपयोग करना चाहिए -Darguments, लेकिन केवल उपयोग कर रहे परीक्षणों को छोड़ने के skipTestsलिए, उनका उपयोग करने से रोकने के लिए maven.test.skip



3

आपके पास रिलीज़ प्लगइन के साथ परीक्षण से बचने और छोड़ने के लिए बहुत अलग विकल्प हैं

  • पहला है रिलीज लक्ष्य के लिए cli पर तर्क के रूप में पारित करने के लिए या एक चरण प्रदान करके चरण:

उदाहरण के लिए: mvn -X -Darguments="-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true" -P release-mode release:prepare

-दूसरा इस तरह से निर्माण में अपने pom.xml पर thoses तर्क करने के लिए है:

<plugin>    
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.scm</groupId>
                        <artifactId>maven-scm-provider-gitexe</artifactId>
                        <version>1.9.4</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <skip>true</skip>
                    <skipTests>true</skipTests>
                    <preparationGoals>clean validate</preparationGoals>
                    <arguments>-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true</arguments>
                    <useReleaseProfile>false</useReleaseProfile>
                    <releaseProfiles>release-mode</releaseProfiles>
                    <tagNameFormat>TEST-@{project.version}</tagNameFormat>
                </configuration>
            </plugin>

ध्यान दें कि दूसरी विधि पहले ओवरराइड करती है।

मैंने आपको एक ही एक्शन पर पहले रिलीज़ करने की सिफारिश की और फिर आप वर्किंग डायरेक्टर पर रिलीज़.प्रॉपीटीज़ फाइल को एडिट कर सकते हैं और exec.additionalArgumentsअगर आपके तर्क हैं तो प्रॉपर्टीज़ देख सकते हैं। यह तरह दिखेगा: exec.additionalArguments=-Dmaven.javadoc.skip\=true -Dmaven.test.skipTests\=true -Dmaven.test.skip\=true -P release-mode

आप रिलीज के बाद प्रदर्शन कर सकते हैं।


2

संपूर्ण इकाई परीक्षण को छोड़ने के लिए, यह तर्क का उपयोग करता है

-Dmaven.test.skip = true

इसलिए यदि आप यूनिट परीक्षण को छोड़ना चाहते हैं तो यह हल हो जाएगा

mvn install -Dmaven.test.skip=true
mvn package -Dmaven.test.skip=true

या वैकल्पिक रूप से आप SkipTests को maven-Surefire-plugin में परिभाषित कर सकते हैं

pom.xml

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.12.4</version>
      <configuration>
         <skipTests>true</skipTests>
      </configuration>
</plugin>

2
यह प्रश्न विशेष रूप से मावेन रिलीज प्लगइन के बारे में है, इसलिए ये मावेन लक्ष्य नहीं हैं जिनका उपयोग किया जाएगा।
जाप

-2

कोई मावेन प्लग-इन शाब्दिक रूप से परीक्षण संकलन या निष्पादन को ट्रिगर नहीं करता है। यह मावेन जीवन चक्र के चरण हैं जो एक या अधिक प्लग-इन के निष्पादन (एस) को ट्रिगर करते हैं, जब ये विशिष्ट चरण के लिए लक्ष्यों को बाध्य करते हैं।

इसलिए, परीक्षण को निष्पादित किए बिना केवल एक प्लग-इन लक्ष्य निष्पादित करना पर्याप्त होगा:

mvn release:perform

या प्रोजेक्ट बिल्ड और पैकेजिंग के साथ गठबंधन:

mvn clean package release:perform
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.