Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Eclipse给了我;groovy.lang.GroovyObject无法解析;?_Java_Eclipse_Groovy - Fatal编程技术网

Java 为什么Eclipse给了我;groovy.lang.GroovyObject无法解析;?

Java 为什么Eclipse给了我;groovy.lang.GroovyObject无法解析;?,java,eclipse,groovy,Java,Eclipse,Groovy,规格:LinuxMint18.3、Eclipse2019-06、Groovy2.5.8、Java11 我启动了一个Groovy项目,并在“源文件夹”下创建了一个包“test”。在测试下,我放置了一个文件“test.groovy”。此文件如下所示: package test 它有一个可怕的红色盒子里的白色十字。错误消息是: 此行有多个标记: -无法解析groovy.lang.MetaClass类型。它是从必需的.class文件间接引用的 -无法解析groovy.lang.GroovyObject

规格:LinuxMint18.3、Eclipse2019-06、Groovy2.5.8、Java11

我启动了一个Groovy项目,并在“源文件夹”下创建了一个包“test”。在测试下,我放置了一个文件“test.groovy”。此文件如下所示:

package test
它有一个可怕的红色盒子里的白色十字。错误消息是:

此行有多个标记: -无法解析groovy.lang.MetaClass类型。它是从必需的.class文件间接引用的 -无法解析groovy.lang.GroovyObject类型。它是从必需的.class文件间接引用的

我尝试了多种策略:重新启动Eclipse、清理项目、删除并放回项目的JRM。没事儿

当我在谷歌上搜索时,也有一些这样的错误,但大多数都是多年前出现在一个活跃的bug列表上的,所以我认为已经解决了

你知道怎么回事吗

注意:根据我的笔记,我以前在Gradle项目中遇到过几次这个问题,通过对项目进行Gradle-->刷新,问题得到了解决。但这是一个(纯)Groovy项目,不是Gradle,而且“刷新”选项不可用

顺便说一下,当我在“问题”中看到这个问题时,错误类型被称为“Java问题”

以后

有人认为原因可能是Java 11。这是一个有趣的想法。然而,Groovy 2.5.x本身并不与Java11不兼容。首先,我在CLI上运行它没有问题,使用Java 11和Groovy 2.5.x配置的基于Eclipse的Gradle项目也没有问题,使用Groovy作为应用程序和测试文件的语言。当然,至关重要的是,Gradle包装器选择自己的Groovy版本,在这种情况下,用户为其可执行文件选择自己的Groovy版本作为
build.Gradle
中的依赖项。所以EclipseGroovy处理被幸运地“绕过”

因此,我开始怀疑Groovy Eclipse插件可能是罪魁祸首。令人惊讶的是,我对此感到惊讶,我完全独立地下载并设置了2019-12 Eclipse包,并尝试在其中创建Groovy项目。即使在多次尝试为这个版本的Eclipse安装Groovy Eclipse的“发布版”和“快照版”(即),我也无法在该IDE中启动最简单的Groovy项目


因此,我怀疑GroovyEclipse无法在Java11上正常工作。唯一的问题是,您可能希望找到这样一个bug,但实际上什么都没有。

将“requires org.codehaus.groovy;”添加到您的模块info.java

将“requires org.codehaus.groovy;”添加到您的模块info.java

尝试使用java 8。我不确定Groovy2.5是否可以与Java11一起使用。我找到了那个链接,没有这样的选择。至于“Java8”的想法,这很有趣。请参阅附录。尝试使用Java8。我不确定Groovy2.5是否可以与Java11一起使用。我找到了那个链接,没有这样的选择。至于“Java8”的想法,这很有趣。见增编,谢谢。我无法将此标记为已接受,因为根据此问题线程,尽管删除module-info.java(或确保它不在那里)对我有效,但添加
requires
行并不能解决我的问题…谢谢。我无法将此标记为已接受,因为根据此问题线程,虽然删除module-info.java(或确保它不在那里)对我有效,但添加
requires
行并不能解决我的问题。。。