2012-09-03 8 views
9

मैवेन बिल्ड के लिए कुछ सिस्टम वैरिएबल पास करना चाहता हूं। अगर मैं mvn clean install -Dfirst.variable=value -Dsecond.variable=second.value सबकुछ ठीक करता हूं। लेकिन pom.xml में इस विन्यास काम नहीं करता:मेवेन में मेवेन-सिक्योरफायर-प्लगइन के साथ प्रणाली चर को पास करना

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.12.3</version> 
      <executions> 
       <execution> 
        <id>tests</id> 
        <phase>test</phase> 
        <goals> 
         <goal>test</goal> 
        </goals> 
        <configuration> 
         <includes> 
          <include>**/*Test.java</include> 
         </includes> 
         <systemPropertyVariables> 
          <first.variable>${value}</first.variable> 
          <second.variable>${second.value}</second.variable> 
         </systemPropertyVariables> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

मैं बिना , <phase/> और <goals> इस config का उपयोग करने की कोशिश की, लेकिन यह मदद नहीं की। क्या प्लगइन नहीं चल रहा है? इन चरों के यहां तक ​​कि हार्डकोडेड मान भी पास नहीं होते हैं। यदि हां, तो संभावित समाधान क्या है? अग्रिम में धन्यवाद।

उत्तर

8

आपको <execution/> बनाने की आवश्यकता नहीं है। आसान तरीका:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
     <systemPropertyVariables> 
     <my.property>propertyValue</my.property> 
     </systemPropertyVariables> 
    </configuration> 
</plugin> 
+0

बहुत बहुत धन्यवाद, यह काम करता है! मुझे पूरा यकीन है कि मैंने के साथ एक कोड नमूना देखा, जिसे ठीक काम करना था। इस तरह के व्यवहार का कारण क्या है? –