IDEA提供了一个功能,点击groovy右键,Convert to Java。
但是转后的文件,不一定正确,而且可读性变差,很多调用都变成了***.invoke()。
于是寻求其他方法。
1)先把groovy文件扩展名改成java
@echo off
rem 不显示执行过程
D:
rem 切换至指定盘符
cd D:\dev\<project>\src\main\java
rem 进入指定文件夹
for /f "tokens=* delims=" %%i in ('dir /b/s *.groovy') do (
rem 查找目标文件夹及子文件夹内的所有groovy后缀的文件
rename "%%i" "*.java"
rem 将所有grrovy后缀的文件更改为java后缀
)
exit
rem 退出
2)给每行末尾加一个;号。
可以使用notepad++,将$替换为;,类型指定为“正则表达式”。
之后的一些坑:
1、groovy的数组与java不同。
2、groovy默认的类、方法、变量都不必声明public,即可调用。转成java后,需要加上public。
3、groovy的json的引用很简单。比如 jsonObject.result.user.name。可以一级一级引用,但是java不行。这个需要重写。
4、groovy的def不支持。java需要声明准确的类型。
5、groovy的变量和方法可以不声明类型,默认为def类型。java会报错。
6、groovy对可能抛出的exception,不做检查。java需要处理UnhandledException。使用try-catch,或者throw。
7、有一些lamba表达式,groovy跟java不一样。需要重写。