我在项目中有IntelliJ 12和一些groovy代码(以及一堆java代码)。
在intelliJ中,我可以看到A类导入了一些groovy代码,并且我还包含了具有该代码的库。
但是,虽然包本身是一种颜色(对于导入),导入的实际类是红色,这意味着某种问题。将鼠标悬停在它上面显示没有问题。
当我运行“make”或“重建项目”时,问题就出现了 - 我得到了
Groovyc: unable to resolve class com.blah.blah.blah.A
我该如何解决这个问题?
目前,我的项目设置如下:
在(项目结构 - >项目设置 - >图书馆)的“图书馆”下,我有:
包含所有groovy代码的jar文件 带有所有groovy代码的src jar文件
在“模块”部分,我有 - 好吧,我不知道该怎么称呼它,列没有标记 - 库名称来自与src和类文件关联的libraries部分,而且勾选旁边的“导出”按钮。
顺便说一下,在intelliJ中打开类永远不会显示源代码,因为包含源代码让我觉得很奇怪。
还有什么我需要做的吗?
我已经解决了这个问题,但如果有人知道为什么groovy不能出现在“资源模式”列表中并想要一个upvote,那就做吧?
答案 0 :(得分:22)
哦,对。
我从!?*.groovy
内容中的条目列表中删除了File : Settings -> Compiler -> Resource Patterns
条目。
如果“使用外部构建”为此开启或关闭似乎并不重要,但!?*.groovy
;进入不能在那里。
我想知道为什么有人知道为什么?
答案 1 :(得分:4)
我遇到了同样的问题,不得不添加框架支持并将Groovy添加到项目中以解决此问题。
我使用gradle创建了项目。
答案 2 :(得分:3)
我刚收到你的问题,因为我遇到了类似的问题。我的问题是我能够将我的IntelliJ 12项目中的groovy代码转换为编译确定,但是当我尝试在IDE中运行单元测试时,它没有正确连接。
经过一番调查后,我发现项目中已经设置了groovy和logback库,这些库都可以在项目的Maven构建的 runtime 阶段中使用,但这导致它们不存在可在测试阶段使用。为了解决这个问题,我最终在runtime
下手动将groovy-all和logback库范围从provided
更新为File->Project Structure->Modules->Dependencies
。这允许我在IDE中编译和测试,同时包括Groovy模块和Java模块。
也许你的项目中有类似的东西?
答案 3 :(得分: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'
}
}
}