Could not write class xxx because it exceeds JVM code size limits...too large

3 篇文章 0 订阅
2 篇文章 0 订阅

记录工作中遇到的一个问题:Could not write class xxx because it exceeds JVM code size limits...too large

问题描述

自己写了一个很普通的sparksql代码,把所有的代码都写到了main方法中,但由于业务需求,建了一个特别大的宽表。。。balabala,总之就是main方法很多行

写完后使用maven打包,报错Could not write class xxx because it exceeds JVM code size limits…too large

开发环境

  • 操作系统: macOS
  • 开发工具: IntelliJ IDEA 社区版2019.2
  • 开发语言: scala
  • 机器内存: 16G

报错原因

在Java或Scala中一个方法最大为64KB, 若方法body很大,导致编译失败

解决方法

方法拆分即可, 保证每个方法体size不超过64KB

参考文献

stack overflow上的一个解释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值