java - 如何在 doLast gradle build 中使用我编译的类?
问题描述
我有一个项目my_project
。我想编译它,编译后我想访问该项目中的一些类,例如创建新对象MyDataClass
并打印它。
这就是我在 build.gradle 中尝试做的事情:
doLast {
MyDataClass toPrint = new MyDataClass()
System.out.println(toPrint)
}
我想我必须以某种方式在buildscript块中指定类路径,my_project
但我对 gradle 真的很陌生,我不知道该怎么做。
感谢您的任何帮助。
解决方案
你应该能够从 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'
}
推荐阅读
- javascript - Dropzone Chunking chunksUploaded 未被调用
- ruby-on-rails - UncaughtThrowError:未捕获的抛出:app_exception
- javascript - React Native 中的搜索栏出现故障
- python - 使用tensorflow创建数据集时需要返回函数对象是什么
- jquery - Spring boot & Jquery 415(不支持的媒体类型)
- redis - Redis sentinel 不能故障转移从服务
- c++ - 类数组的错误输出
- laravel - 放置我的网站文件 var/www 或 lampp/htdocs 的正确位置是什么
- deep-learning - 如何从pytorch中的优化器获取/打印正则化损失/ l2损失/重量衰减值?
- kendo-ui - 从 Api 调用 Angular 7 的剑道网格保存和取消操作