java - 无法在 groovyc 中编译 Java 代码

标签 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代码吗?只有反之亦然是不对的,对吗?

我哪里出错了?

提前致谢。

最佳答案

有一些怪癖。曾经是内部类的一些问题(现在可能在 2.x 中得到解决),您可能必须注意 String 文字中的内容(例如,杂散的美元符号)。使用文字进行数组定义可能会出现问题(例如,int [] ary = {}; 在 groovy 中无法运行)。另外,它并不经常出现,但是范围大括号本身使用会使 groovy 感到困惑。

在您的特定情况下,只需将 short _Production_table [][] 更改为 short [][] _Production_table 即可。我相信这应该可以解决您的问题。

顺便说一句,还有其他一些“陷阱”here .

关于java - 无法在 groovyc 中编译 Java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319108/

相关文章:

java - 读取 CSV 文件并使用 Grails/Groovy 将结果放入 map 中

java - Java 中的方法和线程

java - 如何使子类中的变量在主类中使用

java - 如何从 selenium java 中的 getLocation 获取精确的 y 坐标?

ruby - Groovy 相当于 Ruby String#split

java - 如何在运行 groovy 脚本 URL 时禁用 SSL 验证?

java - @string/action_settings 中的值是多少?

java - 如何在java中访问这个匿名类方法?

java - 在运行时用 Java 编译 Groovy 类

Groovy 单元测试神秘失败