尝试在Java类中编译groovy类时出现的问题

时间:2019-07-02 17:35:42

标签: java grails groovy

我们当前需要将应用程序从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() { ... }
}

1 个答案:

答案 0 :(得分:1)

  

它们放置在src / main / java和src / main / groovy下

最简单的事情以及大多数Grails应用程序要做的事情,是将所有Java和Groovy源代码放在src/main/groovy/下。这样一来,Groovy联合编译器就可以将它们全部编译为一个单元,因此您可以在Groovy和Java类之间建立双向依赖关系。可以配置对单独目录的支持,但是涉及一些复杂性,实际上并不会给您带来任何好处,这就是为什么约定使用src/main/groovy /。