2011-06-28 18 views
5

में संग्रह के लिए परीक्षण श्रेणी निर्देशिका को बहिष्कृत करें मैंने जावा लाइब्रेरी प्रोजेक्ट बनाया है। द्विआधारी <project-dir>/bin पर उपलब्ध हैं। परीक्षण कक्षाएं <project-dir>/bin/com/myproject/test पर उपलब्ध हैं। मुझे अपने परीक्षण वर्गों के संग्रहण को बाहर करने की आवश्यकता है। इसलिए, मैंने निम्नलिखित कोड लिखा:चींटी

<target depends="build-all" name="build-dist"> 
    <jar destfile="app.jar" basedir="bin" excludes="com/myproject/test/*.class" /> 
</target> 

यह ठीक काम करता है। लेकिन संग्रह में निर्देशिका test अभी भी उपलब्ध है। इसे कैसे निकालें?

धन्यवाद।

उत्तर

5

सबसे अच्छा समाधान विभिन्न निर्देशिकाओं में जावा और क्लास फ़ाइलों का परीक्षण करना है। तो उन्हें bin में संकलित करने के बजाय, उन्हें bin-test में दूसरे चरण में संकलित करें। यह भी सुनिश्चित करता है कि गैर-परीक्षण कोड परीक्षण कक्षाएं नहीं देख सकता है (अगर आप आकस्मिक रूप से उत्पादन वर्ग में परीक्षण आयात करते हैं तो संकलन विफल हो जाएगा)।

5
<jar destfile="app.jar" basedir="bin" excludes="com/myproject/test/" /> 
+2

पिछला ** आवश्यक नहीं है। देखें: http://ant.apache.org/manual/dirtasks.html#patterns 'एक "शॉर्टेंड" है: यदि कोई पैटर्न/या \ के साथ समाप्त होता है, तो ** जोड़ा जाता है'। –

+0

अच्छी टिप; मुझे पता नहीं था। मैंने जवाब अपडेट किया, धन्यवाद। –