我有一個打印“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
提交
取消