GraalVM Native, with Kotlin - UnsupportedCharsetException: C



我正在编写一个用Kotlin编写并使用GraalVM编译的本地应用程序。这部分需要我打开和管理电子表格(xlsx)。

当我使用任何JVM(包括Graal)在vm模式下运行应用程序时,一切都很好。但是,当我编译本机应用程序时,当我试图打开与JVM中打开的相同的excel文件时,我会得到一个错误。为了记录,我使用apache POI

UnsupportedCharsetException: CP1252

有人能解释一下为什么它在JVM模式下工作,而不是本机?

堆栈跟踪的一个片段:

java.lang.ExceptionInInitializerError: null
at org.apache.poi.poifs.filesystem.FileMagic.<init>(FileMagic.java:133) ~[pikr:5.2.3]
at org.apache.poi.poifs.filesystem.FileMagic.<clinit>(FileMagic.java:74) ~[pikr:5.2.3]

和POI中的问题代码:

FileMagic(String... magic) {
this.magic = new byte[magic.length][];
int i=0;
for (String s : magic) {
this.magic[i++] = s.getBytes(LocaleUtil.CHARSET_1252);
}
}

尝试在命令行中添加-H:+AddAllCharsets

必须有一些方法来添加几个指定的字符集,但我找不到它在选项(native-image --expert-options-all)

相关内容

  • 没有找到相关文章

最新更新