2008-12-28 32 views
3

如何使用Eclipse从Java类引用Groovy域类?使用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域类。

我运行Eclipse 3.4.1最新的Groovy和Grails Eclipse插件:

  • Grails的Eclipse特性0.1.0 20081120_2330
  • GroovyFeature 1.5.7.20081120_2330

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

回答

1

我还没能在eclipse中做这个工作。在Spring获得groovy/grails eclipse插件之后,除了仅仅使用颜色编码之外,你最好的选择就是使用像Intelij这样的IDE,它有最好的groovy支持。

0

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

右键单击项目选择属性。点击Java Build Path,然后点击Source选项卡。 单击添加文件夹并确保您的项目/ grails-app/domain位于路径中。

如果这不起作用,那么你是对的,我不知道是什么问题。 Spring-Source是Eclipse的赞助商,我希望在不久的将来能够大幅改进Eclipse插件。但你是对的。现在,这很烦人。

0

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

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

  1. Groovy的项目属性取消选中该复选框禁用Groovy的编译器生成的类文件(注意插件开发者:请在复选框标签使用积极的措词“生成的Groovy类文件”。就好办多了比“禁用禁用选项”来理解。)
  2. Groovy编译输出位置进入web-app/WEB-INF/groovy-classes
  3. Java Build Path - >库添加Groovy类文件夹。

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

我认为这不仅仅是一种解决方案,而是现在为我完成的工作。

0

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

0

我不确定引用文件或文件夹是否是好方法。你应该使用模块化。所以你的域名将被存储在单独的“项目”中。可以通过创建插件来完成。你可以找到很好的解释和源代码here

0

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

  1. 右键点击Project Explorer中
  2. 选择项目从配置菜单

我的环境是转换为Groovy项目如下:

  • Eclipse Kepler Service Release 1,Build ID:20130919-0819
  • Groovy的Eclipse插件2.9.0.xx-20130828-1400-E43-RELEASE
  • Grails的IDE 3.4.0.201310051518-RELEASE(我不认为这是必要的)

最后,我做不是混乱与任何“禁用Groovy编译器生成类文件”选项。