我有一个打印“Hello World”的gradle文件task hello << { println "Hello World"}这个脚本是用 groovy 编写的。据我所知,我们可以将 Test.groovy 的输出放入 Test.class 中,因为它使用 JVM。所以我的问题是如何获取 build.gradle 文件的 .class 文件?我需要向 gradle 恶魔提供任何特定命令吗?
1 回答
烙印99
TA贡献1829条经验 获得超13个赞
Gradle 脚本(build.gradle、init 脚本或设置脚本)确实会在Gradle 构建初始化阶段被编译成 Java 字节码。结果.class文件由 Gradle 生成到 ${user.home}/.gradle/caches/${gradle.version}/scripts 下的内部“脚本”缓存目录结构中。
但是这个编译过程是 Gradle 实现内部的东西,它没有通过 DSL 或 API 公开(据我所知):您可以在Gradle 源代码的核心子模块中找到一些实现细节:请参阅内部包https:// github.com/gradle/gradle/tree/master/subprojects/core/src/main/java/org/gradle/groovy/scripts
我认为您无法以编程方式访问这些.class文件,即使是通过破解 Gradle 核心实现,但正如其他人在评论中所说的那样:您为什么需要它?
添加回答
举报
0/150
提交
取消