2010-05-07 14 views
7

समस्या यह है कि मैं एक प्रोजेक्ट बनाने की कोशिश कर रहा हूं जिसमें इसके संसाधनों में build.xml फ़ाइल है। असल में, मैं अपने प्रोजेक्ट को मैवेन 2 के साथ एक जार के रूप में पैकेज करता हूं, और फिर मेरी प्रोजेक्ट को इंस्टॉल करने के लिए चींटी इंस्टॉलर का उपयोग करता हूं।मैवेन के साथ, मैं मैवेन को कुछ गुणों को फ़िल्टर करने से रोकता हूं लेकिन दूसरों को अनुमति देता हूं?

build.xml फ़ाइल में एक संपत्ति है जिसे मुझे build.date नामक फ़िल्टर करने की आवश्यकता है, लेकिन अन्य गुण हैं जिन्हें मैं फ़िल्टर नहीं करना चाहता, जैसे $ {basedir}, क्योंकि यह चींटी द्वारा उपयोग किया जाता है इंस्टॉलर लेकिन मैवेन के आधार परिवर्तक द्वारा प्रतिस्थापित किया जाता है। इसलिए, मुझे किसी भी तरह से $ {build.date} को फ़िल्टर करने के लिए मेवेन को बताना होगा, लेकिन $ {basedir} नहीं।

मैं बनाने एक गुण "basedir = $ {basedir}" संपत्ति में से एक के रूप में के साथ एक फिल्टर के रूप में फाइल करने की कोशिश की, लेकिन मैं निम्नलिखित त्रुटि मिलती है:

समाधान करना अभिव्यक्ति: '$ {basedir}': का पता चला निम्नलिखित रिकर्सिव अभिव्यक्ति चक्र: [आधारित]

किसी भी सुझाव की बहुत सराहना की जाएगी।

धन्यवाद,

बी.जे.

उत्तर

7
मेरी जानकारी के लिए

, यह संभव नहीं है, आप किसी दिए गए संपत्ति को छानने से Maven नहीं रोका जा सकता। तो या तो:

  • ${basedir} तरह Maven गुण का प्रयोग नहीं करते अपने build.xml में (यदि यह संभव है)
  • Maven छानने का उपयोग नहीं करते लेकिन को Maven Antrun प्लग इन का उपयोग बदलने के${build.date} और केवल इस संपत्ति
  • परिवर्तन (this answer देखें) संसाधनों प्लगइन का delimiters पैरामीटर और अपने build.xml

    में उदाहरण @[email protected] बजाय ${build.date} के लिए उपयोग
    <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-resources-plugin</artifactId> 
        <version>2.4.2</version> 
        <configuration> 
        <useDefaultDelimiters>false</useDefaultDelimiters> 
        <delimiters> 
        <delimiter>@</delimiter><!-- for Ant-like tokens style --> 
        </delimiters> 
        </configuration> 
    </plugin> 
    
+0

सहायता के लिए फिर से धन्यवाद। तीसरा समाधान पसंद का मेरा समाधान था। मुझे false Benny

+0

@ बेनी आह हां जोड़ना था, इसके बारे में भूल गया (मैंने तदनुसार मेरा जवाब अपडेट किया है)। –

+0

@ बेनी बीटीडब्लू, यह आमतौर पर समझ में आता है [एक स्वीकृत उत्तर को भी ऊपर उठाना] (http://meta.stackexchange.com/questions/686/accepting-answer-without-upvoting);) –

संबंधित मुद्दे