我们当前需要将应用程序从 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() { ... }
}
最佳答案
they are placed under src/main/java and src/main/groovy
最简单的事情,也是大多数 Grails 应用程序所做的事情,就是将所有 Java 和 Groovy 源代码放在 src/main/groovy/
下。这允许 Groovy 联合编译器将所有内容编译为一个单元,这样您就可以在 Groovy 和 Java 类之间拥有双向依赖关系。可以配置对单独目录的支持,但它涉及一些复杂性,这并不能真正为您带来任何好处,这就是为什么约定使用 src/main/groovy
/。
关于java - 尝试在 java 类中编译 groovy 类时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56857538/