Vert.x Java应用异常堆栈显示Unknown Source无行号如何配置解决
解决Vert.x Java应用堆栈跟踪显示Unknown Source问题
该问题的核心原因是你的业务代码编译阶段没有生成包含源文件名、代码行号的调试信息,Vert.x框架类能正常显示行号说明JVM运行参数无异常,仅需调整代码编译配置即可修复。
Maven项目配置
修改pom.xml中maven-compiler插件的配置,开启调试信息生成:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <!-- 开启调试信息 --> <debug>true</debug> <debugLevel>source,lines,vars</debugLevel> </configuration> </plugin>
Gradle项目配置
修改build.gradle文件,添加Java编译参数:
tasks.withType(JavaCompile) { options.debug = true options.debugOptions.debugLevel = "source,lines,vars" }
额外注意事项
- 若你在打包流程中使用了ProGuard、Allatori等字节码混淆、裁剪工具,需要关闭针对业务代码的调试信息剥离规则,禁止删除源文件、行号属性
- 编译时不要添加
-g:none参数,该参数会强制关闭所有调试信息生成 - 配置修改完成后执行全量重新编译:Maven执行
mvn clean install,Gradle执行./gradlew clean build,重新部署应用后堆栈即可正常显示代码行号
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

