You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从编译后的Kotlin类文件中移除调试信息

Kotlin编译器关闭调试信息配置方案

Kotlin编译器完全支持类似javac-g:none的调试信息控制能力,可以通过以下方式配置关闭调试信息生成:

  • 命令行直接编译场景
    Kotlin编译器原生兼容javac的-g系列参数,直接在编译命令后追加-g:none即可关闭所有调试信息生成,示例:
    kotlinc HelloWorld.kt -g:none
  • Gradle构建场景
    针对所有Kotlin编译任务统一添加编译器参数即可:
    • 若使用Kotlin DSL(build.gradle.kts),配置如下:
    tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
        kotlinOptions {
            freeCompilerArgs += "-g:none"
        }
    }
    
    • 若使用Groovy DSL(build.gradle),配置如下:
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
        kotlinOptions {
            freeCompilerArgs += "-g:none"
        }
    }
    
  • Maven构建场景
    在kotlin-maven-plugin的配置中追加编译参数即可:
    <plugin>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-maven-plugin</artifactId>
        <version>${your.kotlin.version}</version>
        <configuration>
            <args>
                <arg>-g:none</arg>
            </args>
        </configuration>
    </plugin>
    

如果需要仅保留部分调试信息,可以将-g:none替换为对应参数值:-g:source仅保留源文件名信息、-g:lines仅保留行号信息、-g:vars仅保留局部变量名信息,多个值可用逗号分隔组合使用。

内容的提问来源于stack exchange,提问作者nnesterov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:09:00