常见问题
Java 17 运行 spark3.3.1 需要在vm中加入的参数
|
|
问题1 模块访问受限
Exception in thread “main” java.lang.IllegalAccessError: class org.apache.spark.storage.StorageUtils$ (in unnamed module @0x71a8adcf) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x71a8adcf
关于这个问题在 stackoverflow上的讨论
解决办法
在 IDEA 方法添加 VM 参数
|
|
新版 IDEA 图示
问题2 系统缺少文件
Exception in thread “main” ExitCodeException exitCode=-1073741515:
参考这篇博客:https://blog.csdn.net/psp0001060/article/details/83057663
原因:
操作系统缺少 msvcr120.dll文件
下载地址
链接: https://pan.baidu.com/s/1rQSzzFn97hs7V0ZYoiF6ZQ?pwd=bdsa 提取码: bdsa 复制这段内容后打开百度网盘手机 App,操作更方便哦
放置 dll:
- 32 位\msvcr120.dll 粘贴到 _C:\Windows\System32 目录中
- 64 位\msvcr120.dll 粘贴到 _C:\Windows\SysWOW64 目录中
问题3 模块访问受限
Exception in thread “main” java.lang.IllegalAccessError: class org.apache.spark.sql.catalyst.util.DateTimeUtils$ (in unnamed module @0x17f62e33) cannot access class sun.util.calendar.ZoneInfo (in module java.base) because module java.base does not export sun.util.calendar to unnamed module @0x17f62e33
这个报错和问题 1 相似,vm 运行缺少 java.base/sun.util.calendar
模块,需要手动指定
像以上的问题,都是因为模块没有导入的问题,需要手动指定
|
|
确保程序运行时 vm 中有这个内容,idea 运行时添加可参考问题 1
问题4 模块访问受限
Exception in thread “main” java.lang.reflect.InaccessibleObjectException: Unable to make field protected transient int java.util.AbstractList.modCount accessible: module java.base does not “opens java.util” to unnamed module @783a467b
vm 参数加入
|
|
问题5
Exception in thread “main” java.lang.IllegalArgumentException: Unable to create serializer “com.esotericsoftware.kryo.serializers.FieldSerializer” for class: java.nio.HeapByteBuffer
。。。
问题6 模块访问受限
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field final byte[] java.nio.ByteBuffer.hb accessible: module java.base does not “opens java.nio” to unnamed module @6574a52c
vm参数加入
|
|
问题7 模块访问受限
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make private java.lang.Object java.lang.invoke.SerializedLambda.readResolve() throws java.io.ObjectStreamException accessible: module java.base does not “opens java.lang.invoke” to unnamed module @2cf3d63b
vm参数加入
|
|