【发布时间】:2019-07-02 17:35:42
【问题描述】:
我们目前需要将应用程序从 Grails 2.x 迁移到 Grails 3.x
我们对这个应用程序了解不多,但在过去,在 v2 中,它在 Java 类中使用了 Groovy 类。
升级到 v3 后,这似乎不再起作用。在 Java 类中包含 Groovy 代码将返回此
...: error: cannot find symbol
line of code with the error
^
symbol: variable MyGroovyClass
location: class MyJavaClass
MyJavaClass
public class MyJavaClass {
public void x() { MyGroovyClass.test(); }
}
MyGroovyClass
class MyGroovyClass {
static void test() { ... }
}
【问题讨论】:
-
信息太少,无法帮助您。你有什么问题?
-
@daggett 添加了几行代码。不要认为它很有用,因为这就是我所拥有的。在 grails 2 中,此代码有效,在 grails 3 中,不再有效
-
似乎 Java 在 groovy 之前编译。检查编译步骤和插件。如果将 Java 更改为 groovy 扩展会怎样?顺便说一句,文件位置是什么?
-
@daggett 它们位于 src/main/java 和 src/main/groovy 下。更改扩展名不会解决问题,因为在 Groovy 文件中我们有一些特定的 groovy 注释
-
@daggett "如果你把 Java 改成 groovy 扩展会怎么样?" - 这是个坏主意。