通过右键单击“ sources-root”和“ test-sources-root”文件夹,IntelliJ IDEA Gradle与Maven“运行所有测试”吗?

时间:2019-03-18 14:35:15

标签: java gradle intellij-idea configuration

我刚刚将Maven Java / Kotlin项目转换为Gradle,并且总体上似乎运行良好(这是我第一次使用Gradle)。但是我习惯于右键单击我的sources-root文件夹(src/main/java)以同时运行 Rebuild '<default>'Run 'All Tests'(在不同的时间)。现在,当我执行测试以运行测试时,我得到一个黄色的气球:

  

在模块“ MyProject.main”中找不到测试。改为使用模块“ MyProject.test”

我可以训练自己右键单击test-sources-root文件夹(Run 'All Tests')中的src/test/java。但是,奇怪的是,IDEA愿意提供它做不到的事情。

我想知道是否需要在我的build.gradle或可能的settings.gradle文件中指定其他/更好的名称?还是在某个地方调整IntelliJ设置?对于Maven项目,我怀疑只要更改Maven项目,我就只需要告诉IDEA自动刷新其项目。

我的整个项目都已登录到Github:TestUtils

如果您不想单击,这是我的build.gradle文件:

/*
 * This file was generated by the Gradle 'init' task.
 */

plugins {
    id 'java'
    id 'maven-publish'
    id 'org.jetbrains.kotlin.jvm' version '1.3.21'
}

repositories {
    mavenLocal()
    maven {
        url = 'http://repo.maven.apache.org/maven2'
    }
}

dependencies {
    compile 'junit:junit:4.12'
    compile 'javax.servlet:javax.servlet-api:4.0.1'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}

task sourcesJar(type: Jar) {
    classifier = 'sources'
    from(sourceSets.main.allJava)
}

task javadocJar(type: Jar) {
    classifier = 'javadoc'
    from(javadoc.destinationDir)
}

group = 'org.organicdesign.testUtils'
version = '0.0.8'
description = 'TestUtils'
sourceCompatibility = '1.8'

publishing {
    publications {
        maven(MavenPublication) {
            from(components.java)
            artifact(sourcesJar)
            artifact(javadocJar)
        }
    }
}

这是settings.gradle:

/*
 * This file was generated by the Gradle 'init' task.
 */

rootProject.name = 'TestUtils'

2 个答案:

答案 0 :(得分:1)

在Maven项目中,相同的模块包含源根和测试源根。在Gradle项目中,IDE正在为源集创建单独的模块,因此源和测试源将位于不同的模块中。

您可以禁用每个源集创建单独的模块选项,然后重新导入项目:

Create separate module per source set

答案 1 :(得分:0)

当我仅将Gradle解压缩到文件夹中时,设置GRADLE_HOME并将其添加到我的路径中,IntelliJ遇到了种种问题,不知道需要重建什么。 Deleting IntelliJ's output directory帮助了一些人。

然后有一天,将IDEA升级到:

IntelliJ IDEA 2019.1 (Ultimate Edition)
Build #IU-191.6183.87, built on March 27, 2019
JRE: 1.8.0_202-release-1483-b39 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-47-generic

然后,我使用SDKMAN!作为Gradle docs instructed安装了Gradle,然后将项目重新导入到IDEA中。这个问题和我所有的其他构建问题都消失了。以下哪项真正解决了我的问题?我不知道。