ant scientific एंट जेवाक कार्य में कंपाइलर विशेषता को ओवरराइड करें



ants facts (1)

चींटी javac कार्य प्रलेखन कहते हैं:

विभिन्न कम्पाइलर का उपयोग करना संभव है इसे या तो वैश्विक बिल्ड.comपेलर प्रॉपर्टी सेट करके निर्दिष्ट किया जा सकता है, जो पूरे कार्य में सभी कार्यों को प्रभावित करेगा, या मौजूदा कार्य के लिए विशिष्ट कंपाइलर विशेषता सेट करके। या तो build.compiler गुण या कंपाइलर विशेषता के लिए मान्य मान हैं:

ऐसा लगता है जैसे आप वैश्विक बिल्ड.comपेलर गुण निर्दिष्ट कर सकते हैं या एक विशिष्ट संकलक विशेषता सेट कर सकते हैं।

इसलिए, ऐसा लगता है कि आपको अपनी बिल्ड फाइल को संशोधित करने की आवश्यकता होगी और या तो:

  1. जावाक कॉल्स से कंपाइलर एट्रिब्यूट निकालें और ग्लोबल build.compiler सेटिंग को कैस्केड करने की अनुमति दें

  2. कम्पाइलर विशेषता के मूल्यों को हार्ड-कोडित स्ट्रिंग कंपाइलर से बदलें- "आधुनिक" के लिए संपत्ति कंपाइलर = "$ {javac.compiler}"

मैं कमांड लाइन के द्वारा चींटी संकलक गुणों को ओवरराइड करने की कोशिश कर रहा हूं ताकि सभी 'javac' कार्य मेरे निर्दिष्ट कंपाइलर का उपयोग करें मैंने जिस समस्या को चलाया है, वह है कि कोई भी लक्ष्य जो कि कंपाइलर के लिए अपना मान सेट करता है, उस कॉमांड लाइन पर सेट किए गए एक को ओवरराइड करता है इसलिए, भले ही मैं निम्नलिखित कमांड में प्रवेश कर रहा हूं

ant -Dbuild.compiler=mycompiler  

कोई भी लक्ष्य जो कि निम्नलिखित है, उस कंपाइलर = "आधुनिक" विशेषता के कारण अपने कंपाइलर के बजाय आधुनिक कंपाइलर का उपयोग करने जा रहा है

<javac srcdir="."  
       destdir="${classes.dir}/core"  
       compiler="modern"  
       encoding="UTF-8">  
    <include name="org/**" />  
    <include name="com/**" />  
    <compilerarg line="${config.build.compilerarg}" />  
</javac>    

क्या कमांड लाइन से इसे ओवरराइड करने के लिए कोई तरीका है, या क्या मैं बिल्ड फाइल को संपादित करने में बाधक हूं?