Как я могу использовать мои скомпилированные классы в сборке doLast gradle? - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть проект my_project.Я хотел бы скомпилировать его, и после компиляции я хотел бы получить доступ к некоторым классам, которые находятся в этом проекте, например, создать новый объект MyDataClass и распечатать его.

Это то, что я пытаюсь сделать в моей сборке.gradle:

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

Я думаю, мне нужно как-то указать classpath в блоке buildscript для my_project, но я действительно новичок в gradle и не знаю, как это сделать.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 04 февраля 2019

Вы должны быть в состоянии получить то, что вам нужно, от sourceSets.gradlebuilds.runtimeClasspath

При условии, что ваши sourceSets были правильно объявлены.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'  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...