Java “Gradle跑步投掷”;错误:找不到或加载主类“;

Java “Gradle跑步投掷”;错误:找不到或加载主类“;,java,gradle,intellij-idea,build.gradle,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

项目结构为:

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']
        }
    }
}
gradle build-工作正常


gradle run-抛出错误“找不到或加载主类”

默认情况下,应用程序插件只考虑用于分发的类。如果您真的想在测试源集中运行代码,那么一个选项是将测试源包含在main中(坏主意)

在您的案例中,
mainClassName=“ExecutionClass.TestNGMain”


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

您可以发布
TestNGMain.java
package ExecutionClass的
package
语句吗
sourceSets {
    main{
        java{
            srcDir("src/test/java")
        }
    }
}