मेरे प्रोजेक्ट के build.xml में मेरे पास एक प्रॉपर्टी परिभाषित है:सापेक्ष पथ प्राप्त करने के लिए एक पूर्ण पथ से आधारित को कैसे पट्टी करें?
<property name="somedir.dir" location="my_project/some_dir"/>
${somedir.dir}
का मान एक पूर्ण पथ होगा: /home/myuser/my_project/some_dir
।
मुझे जो चाहिए वह सिर्फ ${basedir}
मान /home/myuser
के बिना सापेक्ष पथ ./my_project/some_dir
है। मैं चींटी का उपयोग करके इसे कैसे प्राप्त कर सकता हूं?
अब तक मुझे संपत्ति को पथ में परिवर्तित करके समाधान मिला है और फिर "pathconvert" का उपयोग करें, लेकिन मुझे नहीं लगता कि यह एक अच्छा समाधान है:
<path id="temp.path">
<pathelement location="${somedir.dir}" />
</path>
<pathconvert property="relative.dir" refid="temp.path">
<globmapper from="${basedir}/*" to="./*" />
</pathconvert>
कोई अन्य (अधिक सुरुचिपूर्ण) सुझाव ?
मुझे लगता है कि आपने मेरे प्रश्न को गलत समझा। मेरे पास पहले से ही एक दिया गया पथ "$ {base.dir}/some_dir" है और मुझे सापेक्ष पथ "./some_dir" प्राप्त करने की आवश्यकता है। – blackicecube
जब आप इसे '$ {somedir.dir}' में रखते हैं तो आपको 'some_dir' निकालने की आवश्यकता क्यों है? – Anonymous
$ {somedir.dir} कुछ "/ home/blah/mydirectory" जैसा होगा और सवाल क्या पूछ रहा है, यह है कि इससे "./mydirectory" कैसे प्राप्त करें। तो आप केवल $ {somedir.dir} का उपयोग नहीं कर सकते हैं। नंत में पथ :: गेट-डायरेक्टरी-नाम जैसे फ़ंक्शंस का एक गुच्छा है लेकिन मुझे लगता है कि एंटी में मौजूद हैं या नहीं। मुझे यह कैसे करना है इसकी आवश्यकता भी है। – christophercotton