gradle - 在 IntelliJ 中调试 gradle 内部类

标签 gradle intellij-idea

我有一个自定义任务,比如这个:

任务你好{ 做最后{ println '你好,世界! } }

现在我可以在 doLast 上设置断点,IntelliJ 会停在那里,但我无法调试到 gradle 核心类,例如:org.gradle.api.internal。项目.DefaultProject#task(...)

是否可以附加 Gradle 源代码以在 IntelliJ 中调试 Gradle 内部类?

最佳答案

我不知道如何将评论转换为答案,但本质上,@m-ricciuti 是正确的,需要做的是:

  • 添加implementation(gradleApi()) (它在 Kotlin DSL 中)到 dependencies
  • 指定-all分布于 gradle-wrapper.properties :
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip
  • 在 IntelliJ 中创建“远程 JVM 调试”运行配置(所有设置都可以保持“原样”)
  • 使用参数运行 gradle gradlew <task> -Dorg.gradle.debug=true --no-daemon ,它会说“启动守护进程”并暂停
  • 通过调试按钮启动创建的运行配置

这样,你就可以在@TaskAction上设置断点了方法等等,但是,我仍然无法在 CloseableHttpClient 中设置断点。或 InternalHttpClient类。这基本上是我最感兴趣的,所以如果有人知道更多...请插话!

关于gradle - 在 IntelliJ 中调试 gradle 内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53407980/

相关文章:

intellij-idea - 如何关闭 Intellij IDEA 方法参数提示?

java - Maven 重新导入设置语言级别

java - Controller 中的字段需要名为 'entityManagerFactory' 的 bean,但无法找到

android - 更新到0.12之后,gradle插件脚本失败

android - 没有Gradle或Maven的情况下如何使用Android Studio 1.0?

java - 如何在大型软件系统中进行调试?

gradle - Kotlin需要使用Gradle构建库

android - 运行Flutter Doctor时Android许可证状态未知

intellij-idea - Intellij 的键盘映射不断重置

javascript - Intellij 找不到 .js 文件(类搜索)