我一直在尝试从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仍然无法找到主类。
答案 0 :(得分:0)
将java源文件移动到src / main / java而不仅仅是src。或者设置
sourceSet properly
sourceSets.main.java.srcDirs = ['src']
并使用
task execute(type:JavaExec) {
main = "myPackage.SomeClass"
classpath = sourceSets.main.runtimeClasspath
}
更多参考:Gradle to execute Java class (without modifying build.gradle)