1. ホーム
  2. java

[解決済み] Gradle - メインクラスが見つからない、またはロードされない

2022-02-14 06:46:46

質問

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属性についていろいろと試してみましたが、何もうまくいかないようです。

どうすればいいですか?

ここで2つの問題があると思います。 sourceSet もうひとつは mainClassName .

  1. javaのソースファイルを src/main/java ではなく src . または sourceSet をbuild.gradleに追加することで、適切に動作します。

    sourceSets.main.java.srcDirs = ['src']
    
    
  2. mainClassName はパスではなく、完全修飾されたクラス名でなければなりません。

    mainClassName = "hello.HelloWorld"