V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaTianChiXiGua
V2EX  ›  Java

不会吧,还有人不会用 Java 的 Excel 导入导出??

  •  
  •   xiaTianChiXiGua · 2021-01-13 18:00:38 +08:00 · 3392 次点击
    这是一个创建于 1396 天前的主题,其中的信息可能已经有所发展或是发生改变。

    标题党了, 各位,老项目中使用的 POI 是 3.9 版本,现在想要使用 easyExcel,它最低引入的是 3.17 的 POI,如何两个 jar 包共存呐?求各位指点一下

    fiveelementgid
        1
    fiveelementgid  
       2021-01-13 18:03:43 +08:00 via Android   ❤️ 9
    不会吧,不会吧,不会还有人在这问而不是自己去翻 document 吧。
    xiaTianChiXiGua
        2
    xiaTianChiXiGua  
    OP
       2021-01-13 18:06:04 +08:00
    @fiveelementgid 真没招了 搞了两天了 没搞定
    crazyxtcn
        3
    crazyxtcn  
       2021-01-13 18:10:10 +08:00
    这个我遇到过,POI 各个版本之间改动挺大的,当时两个 jar 依赖了不同版本的 poi,不管怎么调,运行时都会遇到 NoSuchMethod 之类的异常,最后用原生 poi 手写的导出
    xiaTianChiXiGua
        4
    xiaTianChiXiGua  
    OP
       2021-01-13 18:13:07 +08:00
    @crazyxtcn 我看了一下如果 3.9 升级到 3.17 项目里要替换不少的代码,一不小心就要出 bug 。。 如果继续用老版本的 POI,又感觉有点恶心 想试试 easyexcel
    optional
        5
    optional  
       2021-01-13 18:13:48 +08:00 via Android
    别试了,不太好用
    xiaTianChiXiGua
        6
    xiaTianChiXiGua  
    OP
       2021-01-13 18:14:50 +08:00
    @optional 继续用 POI 老版本写代码?
    xcstream
        7
    xcstream  
       2021-01-13 18:21:49 +08:00
    恭喜你发现了个 java 的硬伤
    redtea
        8
    redtea  
       2021-01-13 18:28:01 +08:00   ❤️ 1
    方案一:自定义 ClassLoader 加载 jar
    方案二:改造成微服务调用
    c2const
        9
    c2const  
       2021-01-13 18:38:59 +08:00
    2333,从安全角度给你支个招,用 zkm 之类的混淆软件去把新版本的 POI jar 包的依赖全部混淆,本身对外接口(函数名、类名)都不变,最后再把 x.y.A.class 改成 x2.y.A.class 之类避免冲突,类似 c 艹的 namespace 一样,避免调用冲突。
    purensong
        10
    purensong  
       2021-01-13 18:43:53 +08:00   ❤️ 5
    问个问题还阴阳怪气的,建议多看看别人怎么问的
    nl101531
        11
    nl101531  
       2021-01-13 18:45:12 +08:00 via iPhone
    这种只能隔离。。。一个 jar 脱离 maven,使用单独的类加载器加载执行
    qwerthhusn
        12
    qwerthhusn  
       2021-01-13 18:49:12 +08:00
    找个工具,把高版本的 jar 包的包名完全改了。导入到私服
    wander639
        13
    wander639  
       2021-01-13 20:46:01 +08:00 via iPhone
    不会吧,看这个标题还以为是写教程的
    darksword21
        14
    darksword21  
       2021-01-13 20:54:38 +08:00   ❤️ 1
    这种标题在虎扑那看得想骂人,建议不要在这里搞
    iamaprin
        15
    iamaprin  
       2021-01-13 21:26:27 +08:00
    手动打包 easyexcel 源码,修改 pom.xml ,打 shade 包,关键字 class relocation 。
    Takamine
        16
    Takamine  
       2021-01-13 21:36:32 +08:00 via Android
    pandas, csv, xlrd 它不香吗。
    lucahan
        17
    lucahan  
       2021-01-13 21:49:09 +08:00 via Android
    不会吧,除了虎扑还真有人用这种标题
    czzhengkw
        18
    czzhengkw  
       2021-01-13 21:51:54 +08:00
    不会吧,这样问问题不会被打吗?
    SkyLine7
        19
    SkyLine7  
       2021-01-14 08:35:39 +08:00
    小丑竟是我自己
    xiaTianChiXiGua
        20
    xiaTianChiXiGua  
    OP
       2021-01-14 08:41:38 +08:00
    @darksword21 看来不少虎扑老哥啊 哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2645 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:05 · PVG 08:05 · LAX 16:05 · JFK 19:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.