如何在doLast gradle构建中使用已编译的类?

时间:2019-02-04 16:22:49

标签: java gradle

我有一个项目my_project。我想编译它,编译后我想访问该项目中的一些类,例如创建新对象MyDataClass并打印。

这是我要在build.gradle中执行的操作:

doLast {
    MyDataClass toPrint = new MyDataClass()
    System.out.println(toPrint)
}

我认为我必须以某种方式在my_project buildscript 块中指定类路径,但是我真的很陌生,我不知道该怎么做。

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您应该能够从sourceSets.gradlebuilds.runtimeClasspath

中获得所需的内容。

假设您的sourceSet已正确声明。 https://docs.gradle.org/current/dsl/org.gradle.api.tasks.SourceSet.html

我必须查看build.gradle才能更好地了解您要完成的工作,但是创建Java类并从JavaExec任务中调用它可能会更容易

task(runApplication,  type: JavaExec) {  
    main = 'com.druudik.MyNewDataClass' //need main method in this java file  
    classpath = sourceSets.gradlebuilds.runtimeClasspath  
    args 'arg1', 'arg2'  
}