[英]Reference Groovy domain class from Java class using Eclipse?
如何使用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:
我尝试将Eclipse默认输出文件夹设置为与Groovy编译器输出位置相同。 我还尝试了启用和禁用“禁用Groovy编译器生成类文件”设置。 我也尝试过不将任何类放在包中。 这些都不起作用。
我也无法使这项工作日食。 直到spring出现groovy / grails eclipse插件,他们要做的不仅仅是单纯的颜色编码,您最好的选择是使用像Intelij这样的IDE,它目前具有最佳的Groovy支持。
您尝试过Groovy插件吗? 它可能会这样做。
对于Groovy和Java,我也无法使用相同的输出文件夹来使它工作,但是如果您使用不同的输出文件夹,它似乎确实可以工作。
这就是我所做的。 通过项目属性对话框:
web-app/WEB-INF/groovy-classes
您现在应该可以使用Java编译的Groovy类。
我认为这更多的是破解而不是解决方案,但现在它对我来说确实有效。
由于此问题已解决,请升级到groovy-eclipse插件的V2。 插件的V2不会构建存根,并且Java与Groovy之间的循环依赖关系也没有任何问题。 现在,该插件附带了一个功能补丁,该补丁修补了JDT编译器,以便它可以自然地处理groovy文件。
看来我参加这个聚会有点晚了,但是我遇到了同样的问题。 通过将项目转换为Groovy项目,我能够解决从Java类引用Groovy域类的问题。 说明如下:
我的环境如下:
最后,我没惹任何“禁止Groovy编译生成类文件”选项。
尽管我还没有尝试过,但是我相信您需要在Java构建路径中将Domain文件夹添加为src文件夹。
右键单击项目,选择“属性”。 单击“ Java构建路径”,然后单击“源”选项卡。 单击添加文件夹,并确保您的project / grails-app / domain在路径中。
如果那行不通,那么您是对的,我不确定是什么问题。
仅供参考,Spring-Source就是这样的Eclipse赞助商,我希望在不久的将来有一个经过改进的Eclipse插件。 但是你是对的。 现在,这很烦人。
我不确定引用文件或文件夹是否是个好方法。 您应该使用模块化。 因此,您的域类将存储在单独的“项目”中。 可以通过创建插件来做到这一点。 您可以在此处找到很好的解释和源代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.