现象
1、build.gradle 内容
task hello {
doLast {
println 'Hello, World!'
}
}
2、执行gradle hello报错如下
D:\Work\gradle\test1>gradle hello
FAILURE: Build failed with an exception.
* Where:
Build file 'D:\Work\gradle\test1\build.gradle' line: 1
* What went wrong:
A problem occurred evaluating root project 'test1'.
> Could not find method hello() for arguments [build_cns7om9rswrmisj5dav3jh63j$_run_closure1@119c2fee] on root project 'test1' of type org.gradle.api.Project.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
解决过程
使用环境:win10,JDK8,Gradle 3、4
通过google、baidu尝试搜索各种关键字貌似都没有类似问题,查询gradle官网user guide一步一步操作问题依旧。但始终怀疑跟环境有关,于是搭建了一个centos的虚拟机,在里面按照相同的方法操作居然没有任何问题,再将同样的build.gradle文件拷贝到本地执行也成功了。
通过记事本对比发现虽然文件内容一样,但之前在win10上采用的utf8的编码,centos上拷贝过来的是ansi格式,原因终于找到了。
解决办法
将build.gradle的编码设置成unicode和ansi都可以,就是不能用utf8编码格式。