Jenkins Groovy将字符串转换为长字符串
我正在编写jenkins管道,需要将字符串参数转换为长值 我用了Long.valueOf,Long.parseLong。我收到以下错误消息: hudson.remoting.ProxyException:groovy.lang.MissingMethodException:没有方法签名:java.lang.Class.parseLong()适用于参数类型:(java.lang.String)值:[889998991733205013] 或者这个: hudson.remoting.ProxyException:groovy.lang.MissingMethodException:没有方法签名:java.lang.Class.valueOf()适用于参数类型:(java.lang.String)值:[889998991733205013] 我的代码:Jenkins Groovy将字符串转换为长字符串,jenkins,groovy,Jenkins,Groovy,我正在编写jenkins管道,需要将字符串参数转换为长值 我用了Long.valueOf,Long.parseLong。我收到以下错误消息: hudson.remoting.ProxyException:groovy.lang.MissingMethodException:没有方法签名:java.lang.Class.parseLong()适用于参数类型:(java.lang.String)值:[889998991733205013] 或者这个: hudson.remoting.ProxyExc
def min = Long.valueOf(params.paymentid) + Integer.valueOf(params.begin)
def max = Long.valueOf(params.paymentid) + Integer.valueOf(params.end)
有什么想法吗?
谢谢。您应该使用长类:
def min = Long.valueOf('1')
我在管理控制台中尝试了此解决方案:
print(params.paymendid.toLong())
成功了。在我的管道中,它不起作用,我得到了以下错误:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:
不允许使用staticMethod的脚本
org.codehaus.groovy.runtime.DefaultGroovyMethods toLong
java.lang.String
但这个解决方案:有效
我应该禁用沙盒。以下转换也可以工作
Long paymentId = params.paymentid as Long
println paymentId
如果字符串无效,可以将此块放入try..catch块中,以处理任何类型转换异常。Long。parseLong(字符串)需要一个字符串参数。params.begin、params.end和params.paymentid的类型是什么——所有字符串??示例代码中的
Integer
而不是Long
,但在您的问题中,您提到了“Long.valueOf”和“Long.parseLong”……是的,我尝试了不同的方法,并粘贴了一个尝试,但是Long.valueOf告诉我:org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:脚本不允许使用staticMethod java.lang.Long valueOf java.lang。String@JasonM1param.begin、end和paymentid都是字符串抱歉我的粘贴不好,但是我试过了,错误是:org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:脚本不允许使用staticMethod java.lang.Long valueOf java.lang.String