无法在groovyc中编译Java代码

时间:2012-11-10 03:56:47

标签: java groovy

您好我有一组java类,当我使用javac命令编译它们时效果非常好:

javac -g -nowarn -classpath /usr/class/cs143/cool/lib:.:/usr/java/lib/rt.jar ASTConstants.java ASTParser.java cool-tree.java 

我在同一台机器上安装了groovy,并尝试执行以下操作:

groovyc  -classpath /usr/class/cs143/cool/lib:.:/usr/java/lib/rt.jar ASTConstants.java ASTParser.java cool-tree.java 

似乎groovy无法理解java文件及其抛出错误,如:

ASTParser.java: 21: unexpected token: protected @ line 21, column 3.
     protected static final short _production_table[][] = 
 ^
我有点困惑。那些所有java程序都是有效的groovy代码吗?只有反之亦然吗?

我犯了错误?

提前致谢。

1 个答案:

答案 0 :(得分:4)

有一些怪癖。曾经是内部类的一些问题(现在可以在2.x中解决),你可能需要观察你的字符串文字中的内容(例如,杂散的美元符号)。使用文字作为数组定义可能是一个问题(例如,int [] ary = {};不会在groovy中飞行)。此外,并不经常出现,但他们自己使用的范围括号混淆了groovy。

在您的特定情况下,只需将short _production_table [][]更改为short [][] _production_table即可。我认为应该清楚你的问题。

<> BTW,其他一些“陷阱”here