Gradle - 无法找到或加载主类

2022-08-31 11:23:27

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

无法找到或加载主类'你好。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


答案 1

我在这里看到两个问题,一个是.sourceSetmainClassName

  1. 将 java 源文件移动到 而不是仅移动到 。或者通过将以下内容添加到 build.gradle 来正确设置。src/main/javasrcsourceSet

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

    mainClassName = "hello.HelloWorld"
    

答案 2

修改 build.gradle 以将主类放在清单中:

jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart',
                   'Implementation-Version': version,
                   'Main-Class': 'hello.helloWorld'
    }
}

推荐