【问题标题】:Gradle Error: Could not find or load main classGradle 错误:无法找到或加载主类
【发布时间】:2021-09-18 00:39:18
【问题描述】:

我的问题是,当我尝试使用命令 gradlew run 运行我的 JavaFX 项目时,我收到一个错误:Error: Could not find or load main class sample.Main 我试图用

设置主类

sourceSets.main.java.srcDirs = ['src'] 和/或 mainClassName = "sample.Main"

我是否错过了一些非常重要的事情?

build.gradle

plugins {
    id 'java'
    id 'application'
}

//sourceSets.main.java.srcDirs = ['src']

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.apache.maven:maven-plugin-api:3.8.1'
    implementation 'org.openjfx:javafx-controls:16'
    implementation 'org.openjfx:javafx-fxml:16'
    implementation group: 'mysql',
            name: 'mysql-connector-java',
            version: '8.0.24'
}

application {
    mainClassName = "sample.Main"
}

项目浏览器

更多信息。

JDK:OpenJDK-16(版本 16.0.1)

IDE:IntelliJ 2021.1.3

我只是想让它开始。我不知道我是否只是不能谷歌问题或误解了 gradle 中的某些内容。

【问题讨论】:

    标签: java gradle gradlew


    【解决方案1】:

    您将 sourceSets.src.main.java 设置为“src”,但您的文件夹结构是 src.main。要么将文件夹结构更改为 src/main/java,要么将适当的 sourceSets.src.main.java.srcDirs 设置为 'src/main'

    例如:

    sourceSets.main.java.srcDirs = ['src/main']
    

    【讨论】:

    • 您好,感谢您的快速答复。我尝试了你写的,但是当我构建我的项目时,我现在得到一个新的错误:A problem occurred evaluating root project 'swt2_bibliothek'. > Could not get unknown property 'src' for SourceSet container of type org.gradle.api.internal.tasks.DefaultSourceSetContainer. 自从我创建这个项目以来,结构保持不变。
    • 试试sourceSets.main.java.srcDirs = ['src/main']
    • 从 gradle 构建成功但是当我想gradlew run 我有我的错误来自上面:Error: Could not find or load main class sample.Main Caused by: java.lang.ClassNotFoundException: sample.Main
    • 你可以试试设置mainClassName = 'main.sample.Main'
    • application{} 内部和外部尝试过同样的错误
    猜你喜欢
    • 2016-01-21
    • 2014-09-15
    • 1970-01-01
    • 2018-09-12
    • 2016-06-12
    • 2016-03-16
    • 2016-01-03
    • 1970-01-01
    相关资源
    最近更新 更多