Groovy在Eclipse中未正确编译

Groovy在Eclipse中未正确编译,eclipse,groovy,Eclipse,Groovy,我正在尝试编写我的第一个groovy类。当我这样做时,Eclipse会抱怨语法错误,就像在解析Java文件一样。它想在每一行的末尾加上分号,它不识别“def”关键字,等等 我已经安装了Groovy1.7.5和最新的GroovyEclipse插件。我还将该项目转换为Groovy项目,并在Groovy编辑器中打开了该文件 还有什么可能导致这种情况: 编辑: 更新-即使我通过“项目属性”>“构建器”禁用所有构建器,我仍然会得到红线。这是什么原因?我以为建设者负责创建线条和标记???如果我能找出“谁

我正在尝试编写我的第一个groovy类。当我这样做时,Eclipse会抱怨语法错误,就像在解析Java文件一样。它想在每一行的末尾加上分号,它不识别“def”关键字,等等

我已经安装了Groovy1.7.5和最新的GroovyEclipse插件。我还将该项目转换为Groovy项目,并在Groovy编辑器中打开了该文件

还有什么可能导致这种情况:


编辑:
更新-即使我通过“项目属性”>“构建器”禁用所有构建器,我仍然会得到红线。这是什么原因?我以为建设者负责创建线条和标记???如果我能找出“谁”决定打开的工作区文件中的错误/问题,我就可以停用该功能…

我以前见过这个。 我通常的回答是:

  • 关闭/重新打开项目
  • 确认项目已转换为groovy项目
  • 清理并重建项目
  • 如果这不起作用…您可以尝试使用现有源创建一个新项目


    祝你好运

    AspectJ/Groovy组合在Eclipse中不起作用。它们各自需要自己的构建器,并且彼此不兼容。唯一可行的方法是将AspectJ和Groovy代码分离到不同的项目中


    这种组合可能在Maven中工作,因为它可以对不同的源文件夹使用不同的编译器。然而,可能存在一个循环性问题,即方面代码依赖于groovy代码(而groovy代码又依赖于方面代码)。

    我也看到了同样的问题。当我尝试创建一个新的Groovy脚本或类时,我也会遇到一个错误。我得到一个错误对话框,上面说:

    org.eclipse.jdt.internal.core.CompilationUnit cannot be cast to
    org.codehaus.jdt.groovy.model.GroovyCompilationUnit
    
    我尝试将Groovy源文件移动到另一个未设置为Java源文件夹的文件夹中,现在语法错误突出显示问题消失了。不过,我仍然必须避免使用“New>Groovy类”。我只是创建了一个普通文件,并将其命名为“.groovy”扩展名,这样似乎就可以了


    很明显,这个插件存在重大问题。

    我发现更新到最新的快照版本修复了我的编译问题

    将此信息放入您的安装新软件中…:

    尝试了上述步骤。它不起作用。这太糟糕了。哈哈。当我右键单击文件并运行它时,它就工作了。我创建了一个新的groovy项目,将相同的代码剪切/粘贴到同一个包下的相同文件名中,它可以完美地工作,没有错误。我的另一个项目是maven/aspectj/groovy。。。我不知道这种组合是否会让编辑感到困惑。arg!这很令人沮丧,但也有道理。最近,我创建了一个自定义生成器(它通过ant完成所有事情)。我很想禁用Groovy builder并依靠我们的builder,但我在项目的Builders列表中没有看到Groovy builder。令人费解的是,当我禁用所有构建器时,我仍然会得到红线。。。即使在关闭/重新打开项目之后。。。这没有任何意义。如果不是建筑商,谁对这些红线负责?!正确的。没有groovy builder,因为groovy Eclipse附带了Java builder的补丁,因此它可以编译groovy和Java代码。编辑器中的红色曲线不是来自构建器,而是来自调节器。每次编辑器更改后,都会调用协调器,它执行类似于编译的操作,但只针对当前文件,不会生成类文件。这就是如何在Java和Groovy文件中获得非常详细的问题报告,即使您尚未保存它们。谢谢。“和解者”应该是非常“谷歌化”的。到目前为止,我发现。总的来说,Groovy Eclipse扩展似乎编码非常糟糕;就好像开发人员没有花时间遵循Eclipse体系结构一样。我想完全关闭Groovy编辑器的调节器!嘘,这是怎么回答的?你所说的一切都不能帮助海报找到解决方案。@Jon:在我的编辑中,我问我是否仍然得到红线。这是什么原因?我认为建筑商应该对此负责,他在第二次评论中直接回答了这个问题。我在下面看到了您的新答案,下次我在eclipse中时,我将检查它是否也适用于我……下次我在eclipse中时,我将添加该更新站点,并查看快照是否适用于我。在一次会议上,我与一位编写groovy的人交谈,他似乎对让eclipse插件与AspectJ一起工作不感兴趣。因此,为了“解决”这个问题,我必须将我的groovy代码转移到它自己的项目中,这比理想的要差。希望这能让我把它移回去……这里的问题是2.1.1版本与Eclipse3.6.2不兼容。但是,2.1.2现在可以从更新站点获得,您将不再看到这个问题。@gmale我们不是不想让AspectJ编译器和Groovy编译器一起工作,只是这是一个非常非常困难的问题。我们需要对这两个编译器进行重大更改才能使其正常工作。考虑到AspectJ能够很好地编织成Groovy字节码(但不是源代码),我们没有动力去做这件事。当然,使用Groovy语法编写Aspect会很酷,我们两种语言都有许多其他更紧迫的问题需要解决。@Andrew:是的,这与我与Groovy家伙的简短对话中得到的一般要点是一样的。这完全可以理解。我不太关心做很棒的groovy方面(尽管这听起来很酷),而只关心让我的groovy代码“活”在同一个启用AspectJ的项目中,而没有上面所示的错误。当然,将我的groovy东西转移到一个单独的项目来回避这个问题并不困难。不过,我很高兴听到你们解决了这个问题,我们可以把我们的脚本移回去!Gre