温馨提示:本文翻译自stackoverflow.com,查看原文请点击:grails - problems when trying to compile groovy class inside a java class
java grails groovy

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

发布于 2020-03-27 10:44:24

当前,我们需要将应用程序从Grails 2.x迁移到Grails3.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() { ... }
}

查看更多

查看更多

提问者
tzortzik
被浏览
211
Jeff Scott Brown 2019-07-03 21:47

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

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