我正在使用maven+gmaven插件从Nexus repo中检索一些信息。我正在做的是检索内部版本号,并尝试将MAVEN属性设置为此值:
def artifactInfo = new XmlSlurper().parseText(version)
def buildNumber = artifactInfo.data.snapshotBuildNumber
println buildNumber
project.properties.setProperty('nexus.buildnumber', buildNumber+1)
println version但由于某些原因,我在启动此程序时收到以下错误:
[ERROR] Failed to execute goal org.codehaus.gmaven:gmaven-plugin:1.5:execute (default)
on project webclient-installer: groovy.lang.MissingMethodException: No signature of
method: org.codehaus.gmaven.plugin.execute.GroovyMavenProjectAdapter$
EvaluatingProperties.setProperty() is applicable for argument types: (java.lang.String,
groovy.util.slurpersupport.NodeChildren) values: [mybuildnumber, 134] -> [Help 1] 有人知道我做错了什么吗?为什么像setProperty()这样简单的函数在我的情况下不起作用?
提前感谢您的帮助和解释!
附注:看起来我有旧的gmaven或者只有setProperty(String,NodeChildren)存在的东西。
发布于 2013-06-07 07:09:41
诸如artifactInfo.data.snapshotBuildNumber之类的GPath表达式属于groovy.util.slurpersupport.GPathResult类型,而不是int类型。你必须做一些像project.properties.setProperty('mynumber', (buildNumber.text().toInteger()+1).toString())这样的事情。
https://stackoverflow.com/questions/16972072
复制相似问题