加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy.util.slurpersupport.GPathResult.setProperty 无效

发布时间:2020-12-14 16:42:46 所属栏目:大数据 来源:网络整理
导读:import groovy.util.slurpersupport.GPathResultdef replaceManifest() { GPathResult androidManifest = new XmlSlurper().parse("AndroidManifest.xml") String versionName = androidManifest['@android:versionName'] versionName += ' beta' androidMan
import groovy.util.slurpersupport.GPathResult

def replaceManifest() {
     GPathResult androidManifest = new XmlSlurper().parse("AndroidManifest.xml")
     String versionName = androidManifest['@android:versionName']
     versionName += ' beta' 
    androidManifest.setProperty('@android:versionName',versionName + "") 

    groovy.xml.XmlUtil.serialize(androidManifest,new PrintWriter(new File("AndroidManifest.xml")))
    println "------groovy.xml.XmlUtil.serialize AndroidManifest end-------"
}

?

buildNumber:007
------version name with suffix-------
AndroidManifest.xml,android:versionName:2.0.0
[Fatal Error] :2:183: The value of the attribute "prefix="xmlns",localpart="tag0",rawname="xmlns:tag0"" is invalid. Prefixed namespace bindings may not be empty.
ERROR:  'The value of the attribute "prefix="xmlns",rawname="xmlns:tag0"" is invalid. Prefixed namespace bindings may not be empty.'
Caught: groovy.lang.GroovyRuntimeException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 183; The value of the attribute "prefix="xmlns",rawname="xmlns:tag0"" is invalid. Prefixed namespace bindings may not be empty.
groovy.lang.GroovyRuntimeException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 183; The value of the attribute "prefix="xmlns",rawname="xmlns:tag0"" is invalid. Prefixed namespace bindings may not be empty.
  at build_jenkins.replaceManifest(build_jenkins.groovy:52)
  at build_jenkins.run(build_jenkins.groovy:9)
Build step 'Execute Groovy script' marked build as failure
Archiving artifacts
Email was triggered for: Failure - Any
Sending email for trigger: Failure - Any
An attempt to send an e-mail to empty list of recipients,ignored.
Finished: FAILURE

在jenkins服务器上,编译android项目,其中要动态修改其中的versionName,编译的时候出错了。

进行排查,对setProperty打印日志,发现设置失败。

经过对比分析,发现groovy版本是1.8.6导致,升级到2.4.7最新版本后问题解决。

初步分析,应该是1.8.6中对manifest中有些语法是不支持导致。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读