我们当前需要将应用程序从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() { ... }
}
答案 0 :(得分:1)
它们放置在src / main / java和src / main / groovy下
最简单的事情以及大多数Grails应用程序要做的事情,是将所有Java和Groovy源代码放在src/main/groovy/
下。这样一来,Groovy联合编译器就可以将它们全部编译为一个单元,因此您可以在Groovy和Java类之间建立双向依赖关系。可以配置对单独目录的支持,但是涉及一些复杂性,实际上并不会给您带来任何好处,这就是为什么约定使用src/main/groovy
/。