मैं ग्रोवी के एक्सएमएलस्लपर का उपयोग करके मैवेन के pom.xml को पार्स और संशोधित करने का प्रयास कर रहा हूं। मेरा pom.xml नामस्थान xsi घोषित करता है।टैग 0 नेमस्पेस डिफ़ॉल्ट नामस्थान में तत्वों के लिए जोड़ा गया
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>a-group-id</groupId>
<artifactId>an-artifact-id</artifactId>
मेरे ग्रूवी स्रोत इस प्रकार है:
import groovy.xml.XmlUtil
def pom = new XmlSlurper().parse('pom.xml')
.declareNamespace('': 'http://maven.apache.org/POM/4.0.0',
xsi: 'http://www.w3.org/2001/XMLSchema-instance')
//manipulate the pom
println XmlUtil.serialize(pom)
तुम नोटिस के रूप में, मैं पहली बार नाम स्थान के रूप में खाली घोषित कर दिया है। हालांकि आउटपुट टैग 0 में हर जगह जोड़ा जाता है।
<?xml version="1.0" encoding="UTF-8"?>
<tag0:project xmlns:tag0="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<tag0:modelVersion>4.0.0</tag0:modelVersion>
<tag0:groupId>a-group-id</tag0:groupId>
<tag0:artifactId>an-artifact-id</tag0:artifactId>
इससे कैसे बचें?
पल के लिए मेरी वैकल्पिक हल मैन्युअल टैग को हटाने है:
println XmlUtil.serialize(pom).replaceAll('tag0:', '').replaceAll(':tag0', '')
'XmlSlurper' का निर्माण कोई नामस्थान समर्थन के साथ पर्याप्त नहीं है? यानी: 'println XmlUtil.serialize (नया XmlSlurper (झूठा, झूठा) .parse (' pom.xml ')) '? –
वाह, हाँ, वह पहले से ही पर्याप्त था, धन्यवाद टिम। क्या आप इसे उत्तर के रूप में प्रदान कर सकते हैं? मैंने यह भी देखा है कि एक्सएमएल में सभी टिप्पणियां खो गई हैं, क्या आप इसके लिए कोई कामकाज जानते हैं? बीटीडब्लू, यहां दी गई दो उपयोगिताएं हैं [pomRm] (http://www.stefanolocati.it/blog/?p=1226) और [pomVersions] (http://www.stefanolocati.it/blog/?p= 1220)। – stivlo
इस समय टिप्पणियां कैसे बनाए रख सकते हैं ... :-(मुझे लगता है कि अगर मुझे आज दोपहर एक खाली पल मिल जाए तो मुझे लगता है कि ... –