英文:
Gradle Task showing error when executing in the gradle build
问题
我遇到的错误是class java.lang.Integer cannot be cast to class java.lang.String
。当运行gradle test -Pnum=10
时。
这是我的代码:
def fibo(n){
//something
}
task test() {
doLast {
fibo num
}
}
英文:
The error that i am facing is the class java.lang.Integer cannot be cast to class java.lang.String
. when running gradle test -Pnum=10
.
This is my code:
def fibo(n){
//something
}
}
task test() {
doLast {
fibo num
}
}
答案1
得分: 1
当使用参数 -Pnum=10
输入 num
的值时,num
将是一个 String
,但您需要一个 Integer
。
像这样更改任务 test
应该可以解决问题:
task test() {
doLast {
fibo num.toInteger()
}
}
有关在 Groovy 中将 String
转换为 Integer
的更多信息,请参阅 此答案。
英文:
When entering the value of num
using the parameter -Pnum=10
, num
will be a String
, but you need an Integer
.
Changing the task test
like this should fix it:
task test() {
doLast {
fibo num.toInteger()
}
}
See this answer for more information about converting a String
to an Integer
in Groovy.
答案2
得分: 0
将您的参数在使用之前转换为整数,因为它是作为字符串传递的。
int nValue = Integer.valueOf(n);
英文:
Cast you argument to integer before using, as its passed as string
int nValue = Integer.valueOf(n);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论