Gradle Run引发“错误:找不到或加载主类”

时间:2018-12-07 01:50:37

标签: java gradle intellij-idea build.gradle

项目结构为:

src
---main
---test
       ---java
              ---ExecutionClass
                                ---TestNGMain.java

build.gradle就像:

plugins {
    id 'java'
}

apply plugin: 'application'
mainClassName = 'test.java.ExecutionClass.TestNGMain'

jar {
    manifest {
        attributes 'Main-Class': 'test.java.ExecutionClass.TestNGMain'
    }
}

sourceSets {
    test {
        java {
            srcDirs= ['src/test/java']
        }
        resources {
            srcDirs= ['src/test/resources']
        }
    }
}

渐变构建-正常工作

渐变运行-引发错误“找不到或加载主类”

1 个答案:

答案 0 :(得分:0)

默认情况下,应用程序插件仅考虑main source set as the application code 进行分发。如果您确实想在测试源集中运行代码,那么一种选择是将测试源包括在主要(不好的主意)中

sourceSets {
    main{
        java{
            srcDir("src/test/java")
        }
    }
}

您的情况mainClassName = "<package-name>.<class-name>"中的mainClassName = "ExecutionClass.TestNGMain"

另一种方法是自定义main发行版以包含测试文件。