嗨,我有一组 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代码吗?只有反之亦然是不对的,对吗?
我哪里出错了?
提前致谢。
最佳答案
有一些怪癖。曾经是内部类的一些问题(现在可能在 2.x 中得到解决),您可能必须注意 String 文字中的内容(例如,杂散的美元符号)。使用文字进行数组定义可能会出现问题(例如,int [] ary = {};
在 groovy 中无法运行)。另外,它并不经常出现,但是范围大括号本身使用会使 groovy 感到困惑。
在您的特定情况下,只需将 short _Production_table [][]
更改为 short [][] _Production_table
即可。我相信这应该可以解决您的问题。
顺便说一句,还有其他一些“陷阱”here .
关于java - 无法在 groovyc 中编译 Java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319108/