使用 Ibm 的 jdk11(semeru)在 wsl2 中读取 jar 文件会报 libzip 的 CRC32 校验错误

2022-04-02 13:24:10 +08:00
 ysn2233

我在调试某个大型开源项目的时候偶然碰到这个问题,使用 openjdk11 ,或者 Amazon 的都没这个问题,在宿主机 windows host 里用 ibm 的 jdk 也没问题,只有在 wsl2 中用 ibm 的 jdk 产生了这个问题。我调试后发现似乎是某一次 native 方法的 Updatebytes0 返回的结果不同,但想不明白为什么。虽然是个小问题不影响什么但还是想探究一下原因,有没有大佬有点什么思路?有 wsl2 的朋友有空的话也可以帮忙试一下是不是只有我自己有这个问题,测试代码如下,路径应该随便一个 jar 包都可以。

 	File file = new 				File("/home/xxx/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar");
        final InputStream input = file.toURI().toURL().openStream();
        final ZipInputStream zipInput = new ZipInputStream(input);

        ZipEntry entry;
        while ((entry = zipInput.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                final String name = entry.getName();
                System.out.println(name);
            }
        }
1336 次点击
所在节点    Java
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/844526

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX