Github Actions中IntelliJ插件compileKotlin构建因Java堆空间失败
解决IntelliJ插件构建中GitHub Actions的Java堆空间问题
针对你在GitHub Actions中构建IntelliJ插件时遇到的Java堆空间错误(仅在2022.3.1+版本IDE复现),可以通过以下配置调整解决:
1. 修正GitHub Actions环境变量配置
之前的DEFAULT_JVM_OPTS不会被Gradle识别,需要调整为Gradle官方认可的环境变量,同时确保Kotlin守护进程的内存参数生效:
jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Java uses: actions/setup-java@v3 with: distribution: zulu java-version: 11 cache: gradle - name: Build and Verify Plugin env: CI_BUILD_PLUGIN: true # 设置Gradle自身的JVM堆内存 GRADLE_OPTS: "-Xmx5g -Xms5g" # 单独设置Kotlin守护进程的堆内存 KOTLIN_DAEMON_OPTS: "-Xmx5g" run: | ./gradlew check ./gradlew runPluginVerifier
2. 添加项目级Gradle配置(推荐)
在项目根目录的gradle.properties中添加全局JVM参数,确保所有构建场景(包括本地和CI)都使用一致的内存配置:
# Gradle自身的JVM参数 org.gradle.jvmargs=-Xmx5g -Xms5g # 启用并行构建提升效率 org.gradle.parallel=true # Kotlin守护进程的JVM参数 kotlin.daemon.jvm.options=-Xmx5g
关键原因说明
- 高版本IntelliJ IDEA(2022.3+)的依赖包体积显著增大,
ClasspathEntrySnapshotTransform任务在处理app.jar时需要更多内存,超出了默认堆限制。 DEFAULT_JVM_OPTS并非Gradle的标准环境变量,之前的设置无法传递给Gradle进程;GRADLE_OPTS和gradle.properties中的org.gradle.jvmargs才是Gradle识别的堆内存配置入口。- Kotlin守护进程有独立的内存配置,单独设置
KOTLIN_DAEMON_OPTS或kotlin.daemon.jvm.options可以确保编译Kotlin代码时不会出现堆不足。
内容的提问来源于stack exchange,提问作者Mugen
相关产品推荐
相关产品推荐

