【发布时间】:2018-05-29 22:11:54
【问题描述】:
我正在编写一个詹金斯管道,我需要将一个字符串参数转换为一个 Long 值。
我用过 Long.valueOf、Long.parseLong。我收到此错误消息:
hudson.remoting.ProxyException:groovy.lang.MissingMethodException:没有方法签名:java.lang.Class.parseLong() 适用于参数类型:(java.lang.String) 值:[8899986991733205013]
或者这个:
hudson.remoting.ProxyException:groovy.lang.MissingMethodException:没有方法签名:java.lang.Class.valueOf() 适用于参数类型:(java.lang.String) 值:[8899986991733205013]
我的代码:
def min = Long.valueOf(params.paymentid) + Integer.valueOf(params.begin)
def max = Long.valueOf(params.paymentid) + Integer.valueOf(params.end)
有什么想法吗? 谢谢。
【问题讨论】:
-
Long.parseLong(String ) 需要一个字符串参数。 params.begin、params.end 和 params.paymentid 的类型是什么——都是 String ??
-
您的示例代码中有
Integer而不是Long,但在您的问题中,您指的是“Long.valueOf”和“Long.parseLong”... -
是的,我尝试了不同的东西并粘贴了我的一个尝试,但 Long.valuOf 告诉我:org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not allowed to use staticMethod java.lang .Long valueOf java.lang.String
-
@JasonM1 param.begin, end和paymentid都是String