簡體   English   中英

從Gradle執行Java類時找不到Main

[英]Can't find Main when executing a Java class from Gradle

我一直在嘗試從Gradle運行Java Main,但是Gradle不斷給我錯誤

任務':myTask'的執行失敗

未指定主要班級

我已附上以下代碼

sourceSets {
    main {
        java {
            srcDirs 'src/myPackage/downloadupdater'
            srcDirs 'src/myPackage/downloadupdater/util' 
            srcDirs 'src/myPackage/downloadupdater/dao'
        }
        // output.classesDir = "/bin"
    }
}

task myTask(dependsOn : compileJava, type : JavaExec){
    group = "Custom"
    description = "Acquires the weekly stats"

    doLast{
        classpath = sourceSets.main.output.classesDir
        main = "myPackage.SomeClass"
        args "-w"
    }
}

我正在調用的Java類是:

package myPackage
public class SomeClass{

    private static DownloadUpdater updater;

    public static void main (String [] args) {

        updater = new DownloadUpdater();

        updater.whichStatistics(args[0]);

        updater.setCalendar();

        updater.secureWorkbook();

        updater.getStatistics();

    }
}

構建之后,我的目錄帶有一個build-classes-java-main-myPackage,但是gradle仍然找不到主類。

要么將Java源文件移動到src / main / java而不是src。 或設置

sourceSet properly
sourceSets.main.java.srcDirs = ['src'] 

和使用

task execute(type:JavaExec) {
main = "myPackage.SomeClass"
classpath = sourceSets.main.runtimeClasspath
}

有關更多信息,請參見: Gradle執行Java類(無需修改build.gradle)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM