java - 尝试在 java 类中编译 groovy 类时出现问题

标签 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() { ... }
}

最佳答案

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/

相关文章:

java - 连接到数据库的 RESTful Web 服务,实体管理器为空

java - BackgroundPanel 我的背景图像覆盖了我的所有组件

grails - 按顺序获取Grails域的持久性属性

spring - 在测试时在 Grails 中注册替代/模拟服务实现?

java - Geb - IncompatibleClassChangeError

Groovy 运算符重载增量/减量错误

java - MS DOS 命令或 Java 代码将文件目录从一个驱动器复制到多个驱动器?

java - 如何在 Java 中验证数独网格的有效性?

grails - 如何在 Grails Web Flow 中呈现验证结果?

grails - 如何从 GSP 中的常规辅助方法设置变量?