4

如何使用 Eclipse 从 Java 类中引用 Groovy 域类?

我已将我的域类放入包中:

package com.me.myproject
public class Person {
    String name
    int age
}

然后在我的 Java 类中我尝试引用com.me.myproject.Person. 这适用于grails run-app(命令行)但不适用于 Eclipse。Eclipse 无法解析 Groovy 域类。

我正在使用最新的 Groovy 和 Grails Eclipse 插件运行 Eclipse 3.4.1:

  • Grails Eclipse 功能 0.1.0 20081120_2330
  • Groovy 功能​​ 1.5.7.20081120_2330

我尝试将 Eclipse 默认输出文件夹设置为与 Groovy 编译器输出位置相同。我还尝试启用和禁用“禁用 Groovy 编译器生成类文件”设置。我也试过不把我的任何课程放在一个包里。这些都不起作用。

4

7 回答 7

1

我也无法在 Eclipse 中完成这项工作。直到春天得到 groovy / grails eclipse 插件来做一些除了颜色编码之外的事情,你最好的选择是使用像 Intelij 这样的 IDE,它目前具有最好的 groovy 支持。

于 2008-12-31T17:39:42.733 回答
1

您尝试过Groovy 插件吗?它可能会这样做。

于 2009-01-11T06:36:36.247 回答
0

虽然我还没有尝试过,但我相信您需要将 Domain 文件夹添加为 Java 构建路径中的 src 文件夹。

右键单击项目选择属性。单击 Java Build Path,然后单击 Source 选项卡。单击 add-folder 并确保您的 project/grails-app/domain 在路径中。

如果这不起作用,那么你是对的,我不确定问题是什么。

仅供参考,Spring-Source 是这样一个 Eclipse 赞助商,我期待在不久的将来有一个大大改进的 Eclipse 插件。但你是对的。目前,这很烦人。

于 2009-01-02T18:00:19.090 回答
0

我也无法使用 Groovy 和 Java 的相同输出文件夹使其工作,但如果您使用不同的输出文件夹,它似乎确实可以工作。

这就是我所做的。通过项目属性对话框:

  1. Groovy 项目属性下,取消选中禁用 Groovy 编译器生成类文件复选框 (插件开发人员注意:请在复选框标签上使用正面措辞。“生成 Groovy 类文件”比“禁用禁用选项”更容易理解。)
  2. Groovy 编译器输出位置输入web-app/WEB-INF/groovy-classes
  3. Java Build Path -> Libraries下添加 Groovy 类文件夹。

您现在应该可以使用从 Java 编译的 Groovy 类了。

我认为这更像是一种破解而不是解决方案,但它现在正在为我做这项工作。

于 2009-07-18T14:26:12.940 回答
0

看来我参加这个聚会有点晚了,但我遇到了同样的问题。通过将项目转换为 Groovy 项目,我能够解决从 Java 类引用 Groovy 域类的问题。说明如下:

  1. 右键单击项目资源管理器中的项目
  2. 配置菜单中选择转换为 Groovy 项目

我的环境如下:

  • Eclipse Kepler 服务版本 1,内部版本号:20130919-0819
  • Groovy-Eclipse 插件 2.9.0.xx-20130828-1400-e43-RELEASE
  • Grails IDE 3.4.0.201310051518-RELEASE(我不认为这是必要的)

最后,我没有弄乱任何“禁用 Groovy 编译器生成类文件”选项。

于 2014-01-30T21:44:25.143 回答
0

请升级到 groovy-eclipse 插件的 V2,因为这个问题已经修复。该插件的 V2 不构建存根,并且在 Java 和 Groovy 之间的循环依赖方面没有任何问题。该插件现在附带一个修补 JDT 编译器的功能补丁,以便它可以原生地处理 groovy 文件。

于 2009-09-12T02:48:14.410 回答
0

我不确定引用文件或文件夹是否是好方法。您应该使用模块化。因此,您的域类将存储在单独的“项目”中。可以通过创建插件来做到这一点。你可以在这里找到很好的解释和源代码。

于 2011-09-06T19:33:04.560 回答