当前位置: 首页 > 面试题库 >

Gradle-无法找到或加载主类

陆曜文
2023-03-14
问题内容

我正在尝试使用Gradle运行一个非常简单的项目,并在使用时遇到以下错误gradlew run command

could not find or load main class 'hello.HelloWorld'

这是我的文件结构:

SpringTest
    -src
        -hello
            -HelloWorld.java
            -Greeter.java
    -build
         -libs
         -tmp
    -gradle
         -wrapper
    -build.gradle
    -gradlew
    -gradlew.bat

我排除了libs和tmp文件夹的内容,因为我认为这与该问题无关,但是我可以在需要时添加它。

这是我的build.gradle文件:

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'

mainClassName = 'hello/HelloWorld'

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
    compile "joda-time:joda-time:2.2"
}

jar {
    baseName = "gs-gradle"
    version = "0.1.0"
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.11'
}

关于如何解决此问题的任何想法?我已经为mainClassName属性尝试了各种方法,但似乎没有任何效果。


问题答案:

我在这里看到两个问题,一个与sourceSet另一个有关mainClassName

  1. 将Java源文件移动到src/main/java而不是src。或sourceSet通过在build.gradle中添加以下内容进行适当设置。

    sourceSets.main.java.srcDirs = ['src']
    
  2. mainClassName 应该是完全合格的类名,而不是路径。

    mainClassName = "hello.HelloWorld"
    


 类似资料:
  • 我试图复制Spring Boot Kotlin示例项目https://github.com/jetbrains/kotlin-examples/tree/master/tutorials/spring-boot-restful。我添加了更多的依赖项,当我试图构建可执行jar并运行它时,我得到了错误:

  • 我遇到一个问题,gradle fatJar/uberJar在尝试运行jar时导致以下异常: 简单的jar任务 没有问题(直到它开始需要依赖项)。 我假设这与我的一个依赖项更改类路径有关,但我不确定为什么会发生这种情况。 build.gradle的相关部分 Gradle构建文件在这里(与代码的其余部分): https://github.com/domhauton/membraned/blob/mas

  • 这是我的build.gradle文件: 有什么办法解决这个问题吗?对于mainClassName属性,我尝试了各种方法,但似乎都不起作用。

  • 我刚刚从spring boot版本“2.2.1.RELEASE”更新到了2.5.6,同时我也将gradle版本更新到了7.0。在更新之前一切正常,但是在更新之后,bootRun任务似乎没有找到主类。 这是收到的错误: 在此版本中使用了已弃用的 Gradle 功能,使其与 Gradle 8.0 不兼容。使用“--警告模式全部”来显示各个弃用警告。查看 https://docs.gradle.org/

  • 我的java应用程序编译有问题。 编译器说:

  • 我是按照Spring的教程,一切都工作正常,直到我克隆我的项目,现在克隆的项目和原来的项目不想工作,我已经搜索槽整个堆栈溢出类似的问题,我无法解决这个问题,我已经清理了项目,重新启动eclipse,更新,添加和删除依赖项从pom.xml似乎没有什么工作。 这是我的主要课程: Beans.xml: 波姆。xml: 正如我所说,当我在同一个工作区复制粘贴项目时,一切都开始失败,当然我更改了名称。 这个