21

我在一个项目中有 IntelliJ 12 和一些 groovy 代码(以及一堆 java 代码)。

在 intelliJ 中,我可以看到 A 类导入了一些 groovy 代码,并且我还包含了具有该代码的库。

然而,虽然包本身是一种颜色(用于导入),但实际导入的类是红色的,这意味着某种问题。将鼠标悬停在它上面没有任何问题。

当我运行“make”或“rebuild project”时,问题就开始了——我明白了

Groovyc: unable to resolve class com.blah.blah.blah.A

我该如何解决这个问题?

目前,我的项目设置是这样的:

在(项目结构->项目设置->库)中的“库”下,我有:

带有所有 groovy 代码的 jar 文件 带有所有 groovy 代码的 src jar 文件

在“模块”部分,我有 - 好吧,我不知道该怎么称呼它,该列没有标记 - 与 src 和类文件相关联的库部分的库名称,以及小“导出”旁边的按钮被打勾。

顺便说一句,在 intelliJ 中打开类从不显示源代码,因为包含源代码让我觉得很奇怪。

还有什么我需要做的吗?

我已经解决了这个问题,但是如果有人知道为什么 groovy 不能出现在“资源模式”列表中并且想要投票,请加入

4

4 回答 4

25

啊对。

我从东西的!?*.groovy条目列表中删除了条目File : Settings -> Compiler -> Resource Patterns

“使用外部构建”是否为此打开或关闭似乎并不重要,但是!?*.groovy; 条目不能在那里。

我想知道是否有人知道为什么?

于 2013-06-13T10:49:29.523 回答
5

我遇到了同样的问题,必须添加框架支持并将 Groovy 添加到项目中才能解决这个问题。

我使用 gradle 创建了项目。

于 2014-01-17T15:33:54.923 回答
3

我刚刚在我的 Google 结果中收到了您的问题,因为我遇到了类似的问题。我的问题是我能够让 IntelliJ 12 项目中的 groovy 代码编译正常,但是当我尝试在 IDE 中运行单元测试时,它没有正确连接。

经过一番调查,我发现项目中设置了 groovy 和 logback 库,以便在项目的 Maven 构建的运行时阶段可用,但这导致它们在测试阶段不可用。为了解决这个问题,我最终手动将 groovy-all 和 logback 库范围从 更新runtimeprovidedunder File->Project Structure->Modules->Dependencies。这使我能够在 IDE 中编译和测试,同时包括 Groovy 模块和 Java 模块。

也许你的项目中有类似的事情发生?

于 2013-11-18T20:32:52.007 回答
1

六年后,我也刚刚在搜索结果的顶部附近找到了这个问题。

在我的项目中,我的Unable to load class 'groovy.text.SimpleTemplateEngine'问题实际上是由于 codenarc 问题。我能够通过将以下内容添加到 build.gradle 来解决该问题:

// codenarc version issue work-around
configurations.codenarc {
    resolutionStrategy.eachDependency { DependencyResolveDetails d ->
        if (d.requested.group == 'org.codehaus.groovy') {
            d.useVersion '2.4.7'
        }
    }
}
于 2019-09-16T23:13:12.190 回答