当前位置: 首页 > 知识库问答 >
问题:

“Groovyc:无法解析类”的想法在命令行上有效

慕容越泽
2023-03-14

我在Intellij Idea中有一个gradle项目,包含两个模块:

foo-core
    |--src
    |   |--main
    |   |   |--java
    |--build.gradle
foo-test
    |--src
    |   |--test
    |   |   |--groovy
    |--build.gradle
build.gradle
settings.gradle

foo测试包含一个spock测试,该测试应该测试来自foo core的类。当我试图在IntelliJ Idea的foo test中运行测试时,我得到以下错误:

Groovyc: unable to resolve class ...

但是当我使用gradle: fo-test: test从命令行运行它们时,一切都很好。

这是我的顶级设置。格雷德尔:

include ':foo-core', ':foo-test'

这里是构建。来自foo测试的gradle:

buildscript {
    repositories {
        mavenCentral()
    }
}

apply plugin: 'groovy'

sourceCompatibility = 1.7

repositories {
    mavenCentral()
}

dependencies {
    compile project(':foo-core')
    compile "org.codehaus.groovy:groovy-all:2.2.1"
    compile "com.google.inject:guice:3.0"

    testCompile "org.spockframework:spock-core:0.7-groovy-2.0"
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

fo-test的项目依赖项在Idea中是正确的。当我“刷新所有Gradle项目”时,任何更改的依赖项都会正确导入。

我已经在Idea中尝试过清理所有的缓存。

为什么我可以在命令行上运行gradle中的测试,但不能在IntelliJ Idea中编译它们?

更新:评论中问题的答案
Idea version 13

我在Idea中创建了一个Android Gradle项目,通过创建Gradle文件目录并将其添加到顶层“settings.Gradle”中,添加了更多模块。然后我在Idea中“刷新所有Gradle项目”。我不使用gradle idea插件。

源和测试目录由Idea识别。所有项目设置似乎都正确导入了Idea(来自gradle)。我可以在另一个java项目(foo-core)中使用foo-core中的java类(foo-user),但不能在groovy文件中使用它们。

仅仅在IntelliJ中编译是行不通的。完全重建也不起作用。甚至“刷新所有Gradle项目”也会产生Groovyc错误。

此外,当我只有两个模块(foo-user界面foo-test)时,测试已经工作,但在我将一些类移动到新模块后停止工作(foo-core)。

更新2:我现在已经更新到Idea 13.0.1。我还尝试关闭项目,删除所有. iml文件和“构建”目录并再次导入。两者都不起作用。

共有1个答案

年风华
2023-03-14

事实上,这是IntelliJ理念的一个缺陷:http://youtrack.jetbrains.com/issue/IDEA-117676

IntelliJ Idea 13.0.2和Gradle 1.9一切正常。

 类似资料:
  • 我正在使用 SBT Idea 13.1.1,我所有的 SBT 文件都是红色的: 它说 无法解析符号名称/版本 但是Seq还可以。但是从SBT cmd运行应用程序,甚至从直接运行主或缩放测试的想法运行应用程序都很好。我知道这不是很多需要排除故障的信息,但我不知道还需要检查什么。告诉我,如果你有什么想法,我会提供一切。 干杯。

  • 问题内容: 尝试使用程序包运行命令时出现错误。 这是我要执行的操作的一个示例: err返回以下内容 输出返回此 当我更改此行时,实际上可以使脚本工作: 到以下内容: 该命令可以正常运行并成功移动文件,但无法使用通配符。在命令中似乎没有将星号用作通配符。这是为什么?还有其他在GO中使用通配符的方法吗?如果没有,那么我将如何将所有文件从递归移动到? 谢谢 问题答案: 在外壳程序上键入命令时,外壳程序将

  • 在我的Windows 10机器上安装postgres后,我很难更改与postgres用户关联的密码。我提前道歉,因为我对postgres以及使用它所需的命令非常陌生。 我在下面的文章中引用了批准的答案:致命:用户“postgres”的密码验证失败(postgresql 11和pgAdmin 4) 我被困在台阶上,需要我 我不太明白这一步。我已经采取了以下步骤 打开cmd 运行psql 然后系统向我

  • 我刚开始使用hibernate,并尝试在oracle DB中映射已经创建的表。在下面给定的代码中: 然后成功显示所需的结果。但我想知道例外的原因。寻求帮助。我只知道一些关于hibenate的事情,如果这是一个愚蠢的问题,对不起。 是数据库的名称。这是我的映射:

  • 几天前我更新了我的Google SDK,现在我无法构建google-play-services_lib。发布“ant版本”后,我得到以下stacktrac: 构建失败/home/abc/Java/android sdk/tools/ant/BUILD。xml:649:执行此行时发生以下错误: /home/ABC/Java/Android-SDK/tools/ant/build . XML:694:

  • 当我通过命令行或Jenkins运行Groovy脚本时,会出现“无法解析类”错误。 我在C中的同一文件夹中有以下两个groovy文件:\Users\myuser\git\productname\mycompany build\src\main\groovy\com\mycompany\build 富。groovy公司 酒吧groovy公司 我经营Foo。groovy使用命令行。 运行Groovy时,