2012-02-21 12 views
7

जब मैं mvn help:effective-pom निष्पादित करता हूं तो यह [INFO] ... को stdout पर आउटपुट करता है। -q के माध्यम से इसे दबाकर सही फ़ाइलों से निपटने पर कुछ भी आउटपुट नहीं होता है, इसलिएएमवीएन सहायता निष्पादित करते समय आउटपुट वैध एक्सएमएल: प्रभावी-पोम

मैं प्रभावशाली गुण प्राप्त करने के लिए प्रभावी पोम को xmlstarlet में पाइप करना चाहता हूं लेकिन आउटपुट वैध xml नहीं है, यह विफल हो जाता है।

http://jira.codehaus.org/browse/MPH-23 पर मेरे उपयोगकेस के लिए एक अनुरोध wontfix (कम से कम मेरी समझ में) के रूप में बंद किया गया था।

उत्तर

8

उपयोग उत्पादन संपत्ति:

mvn मदद: प्रभावी-पोम -Doutput = < फ़ाइल>

+0

मैं डॉक्स पढ़ने में भूलना है। मैंने सोचा कि यह सिर्फ एक फ़ाइल में प्राप्त आउटपुट लिख देगा। लेकिन चूंकि सभी लॉग स्टेटमेंट मैवेन से आते हैं और प्लगइन नहीं, आउटपुट फ़ाइल इस तरह के क्रूर से स्पष्ट है। क्या आप एमवीएन लॉग स्टेटमेंट्स को सप्रेस करने के लिए एक तरीका जानते हैं और केवल प्लगइन परिणाम stdout लिखते हैं? – oschrenk

+0

इसके साथ, गुण प्राप्त करने के लिए स्क्रिप्ट को 'mvn मदद तक घटा दिया गया है: प्रभावी-पोम -डेटपुट = प्रभावी.pom && xml sel -N x = http: //maven.apache.org/POM/4.0.0 - टी-सी "/ एक्स: प्रोजेक्ट/एक्स: गुण" प्रभावी.pom'। हालांकि यह आपकी कामकाजी निर्देशिका में प्रभावी.pom छोड़ देता है। – oschrenk

4

एक समाधान

mvn help:effective-pom | grep -v '\[INFO\|\[WARNING\|Downloading' | sed '1,2d' | xml sel -N x=http://maven.apache.org/POM/4.0.0 -t -c "/x:project/x:properties" 

इच्छा उत्पादन एक्सएमएल के रूप में गुण के रूप में।

आपको xmlstarlet की आवश्यकता है।

brew install xmlstarlet #OSX 
apt-get install xmlstarlet 
संबंधित मुद्दे