2011-10-14 18 views
11

में "खाली" बनाम "खाली" तर्क बनाम मैवेन खाली तारों और रिक्त स्थान "शून्य मान" के तारों का इलाज करने का आग्रह क्यों करता है? निम्नलिखित पोम लें - मुझे एक गलत कॉन्फ़िगर किए गए तर्क के बारे में सामान्य फर्जी संदेश मिलता है। मैं एक खाली मूल्य को पारित करने की व्यवस्था कैसे कर सकता हूं जिसे मैवेन वास्तव में बेतुका त्रुटि संदेशों के साथ पीड़ित करने के बजाय इस तरह पहचानता है?मैवेन

[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Misconfigured argument, value is null. Set the argument to an empty value if this is the required behaviour. 

pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.test</groupId> 
    <artifactId>test</artifactId> 
    <packaging>pom</packaging> 
    <version>0</version> 
    <name>test</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
     <my.val>    </my.val> 
    </properties> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.2.1</version> 
       <executions> 
        <execution> 
         <id>Exec test</id> 
         <phase>prepare-package</phase> 
         <goals> 
          <goal>exec</goal> 
         </goals> 
         <configuration> 
          <executable>${env.JAVA_HOME}/bin/java</executable> 
          <arguments> 
           <argument>${my.val}</argument> 
          </arguments> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
+0

मुझे यकीन नहीं है कि मुझे कभी भी इस "फर्जी संदेश" का सामना करना पड़ा है, जो संकेत दे सकता है कि यह सामान्य नहीं है। आप यह जानकर कि आप किस बारे में बात कर रहे हैं, यह जानने के बजाय आप अधिक जानकारी देना चाहेंगे। –

+0

मैं संभवतः एकमात्र व्यक्ति नहीं हो सकता जिसने "गलत कॉन्फ़िगर किए गए तर्क" संदेश को देखा है, क्योंकि मैं इसे मैवेन को लगातार अत्यधिक मूर्खतापूर्ण लागू करने वाली पद्धतियों पर धन्यवाद देता हूं, लेकिन वहां है। – cbmanica

+0

दिलचस्प। यह निष्पादन प्लगइन की कमी की तरह लगता है। क्या आपने इसके लिए एक बग/एन्हांसमेंट रिपोर्ट दर्ज/दायर की है? –

उत्तर

7

ऐसा लगता है कि समस्या 2007 के बाद से जाना जाता रहा है ->http://mail-archives.apache.org/mod_mbox/maven-users/200708.mbox/%[email protected]%3E

आपके मामले में आप के बजाय <commanlineArgs> विन्यास पैरामीटर का उपयोग करने की कोशिश कर सकते हैं।

यदि आपके पास कई तर्क हैं तो यह सुंदर नहीं है, लेकिन यदि आपके पास केवल एक या दो विकल्प हैं तो यह एक विकल्प हो सकता है। http://jira.codehaus.org/browse/MEXEC-104

अद्यतन

एक classpath की आपूर्ति करने के लिए <commandlineArgs> के माध्यम से, ऐसा करते हैं::

<configuration> 
    <executable>${env.JAVA_HOME}/bin/java</executable> 
    <commandlineArgs>${my.val}</commandlineArgs> 
</configuration> 

मैं भी MEXEC Jira में एक बग रिपोर्ट बनाने के बाद

<commandlineArgs>-classpath %classpath my.main.class.MyMainClass ${my.val}</commandlineArgs> 

वास्तव में, पार्सर भी इसे और अधिक पठनीय बनाने के लिए लंबी लाइन के फोल्डिंग की अनुमति देता है, उदाहरण के लिए

<commandlineArgs> 
    -classpath %classpath 
    my.main.class.MyMainClass 
    ${my.val} 
</commandlineArgs> 
0

आप -Ddummy=dummy जैसे कुछ डमी प्रणाली संपत्ति के मूल्य को my_val सेट कर सकते हैं। मुझे पता है कि यह सुरुचिपूर्ण नहीं है लेकिन कम से कम एक कामकाज है।