Gradle 7.4.2启动Java编译器失败,无详细错误日志求助
Gradle编译失败:启动Java编译器出错(无详细日志)
我使用Gradle 7.4.2版本执行编译任务时,出现启动Java编译器失败的错误,但无法定位具体原因和获取详细错误信息。即使按照提示使用--scan选项,也无法获取有效详情。
错误日志
2022-09-22T16:40:40.905+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong: 876 2022-09-22T16:40:40.905+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ‘:LicenseClientAPI:compileJava’. 877 2022-09-22T16:40:40.906+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > A problem occurred starting process ‘command ‘/usr/lib/jvm/java-17-amazon-corretto.x86_64/bin/javac’’ 878 2022-09-22T16:40:40.906+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 879 2022-09-22T16:40:40.906+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try: 880 2022-09-22T16:40:40.906+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Run with --stacktrace option to get the stack trace. 881 2022-09-22T16:40:40.906+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Run with --scan to get full insights. 882 2022-09-22T16:40:40.906+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 883 2022-09-22T16:40:40.906+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Get more help at https://help.gradle.org
build.gradle配置
apply plugin: 'idea' group 'com.prosc' version '1.0-SNAPSHOT' compileJava.options.encoding = 'UTF-8' ext.buildLocation = System.getenv("buildLocation") ?: rootDir repositories { mavenCentral() } idea { module { inheritOutputDirs = true } } sourceSets { main { java { srcDirs = ["src"] } resources { srcDirs = ["src"] } } test { java { srcDirs = ["test_src"] } resources { srcDirs = ["test_src"] } } } ext.com_squareup_retrofit2_converter_gson_2_9_0 = 'com.squareup.retrofit2:converter-gson:2.9.0' ext.com_squareup_retrofit2_converter_gson_2_9_0_files = files ( "${buildLocation}/out/gradle/repoLibs/converter-gson-2.9.0.jar", "${buildLocation}/out/gradle/repoLibs/retrofit-2.9.0.jar", "${buildLocation}/out/gradle/repoLibs/okhttp-3.14.9.jar", "${buildLocation}/out/gradle/repoLibs/okio-1.17.2.jar", "${buildLocation}/out/gradle/repoLibs/gson-2.8.5.jar") ext.IntellijAnnotations = 'org.jetbrains:annotations:16.0.1' ext.IntellijAnnotations_files = files ( "${buildLocation}/out/gradle/repoLibs/annotations-16.0.1.jar") ext.junit = 'junit:junit:4.13.2' ext.junit_files = files ( "${buildLocation}/out/gradle/repoLibs/junit-4.13.2.jar", "${buildLocation}/out/gradle/repoLibs/hamcrest-core-1.3.jar") dependencies { implementation project(':ProscCore') testImplementation project(':ProscCore').sourceSets.test.output implementation project(':ProscDeployment') testImplementation project(':ProscDeployment').sourceSets.test.output api com_squareup_retrofit2_converter_gson_2_9_0 implementation project(':LicenseClientAPI') testImplementation project(':LicenseClientAPI').sourceSets.test.output implementation IntellijAnnotations implementation project(':ProscCoreDesktop') testImplementation project(':ProscCoreDesktop').sourceSets.test.output testCompileOnly junit }
排查与解决步骤
- 验证Java编译器可用性:手动执行
/usr/lib/jvm/java-17-amazon-corretto.x86_64/bin/javac -version,确认路径存在且文件有执行权限。若权限不足,执行sudo chmod +x /usr/lib/jvm/java-17-amazon-corretto.x86_64/bin/javac。 - 修复循环依赖:build.gradle中
implementation project(':LicenseClientAPI')属于模块自依赖,直接删除该行。 - 启用详细日志:执行编译任务时添加
--debug参数:./gradlew :LicenseClientAPI:compileJava --debug,查看底层启动javac的错误细节;也可使用--info参数获取精简的详尽日志。 - 确认Java版本配置:在build.gradle中明确指定Java版本,确保与JDK 17兼容:
java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - 清理缓存重建:执行
./gradlew clean,删除项目根目录下的.gradle文件夹,再重新执行./gradlew build。 - 检查环境变量:确认
JAVA_HOME指向正确的Java 17路径,执行echo $JAVA_HOME验证;若有自定义Gradle配置,检查gradle.properties中org.gradle.java.home是否设置正确。
内容的提问来源于stack exchange,提问作者Jesse Barnum
相关产品推荐
相关产品推荐

