Java集成Sap/Erp产生的sapjco包重命名/rename问题及解决方案

背景

公司要从erp拿数, 所以集成一下sapjco3进行连接. 初次集成在本地是没有问题的, 但是打包之后运行会出现

Caused by: java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.ExceptionInInitializerError: Illegal JCo archive “sapjco3-3.0.17.jar”. It is not allowed to rename or repackage the original archive “sapjco3.jar”.

这个问题是告诉我们不可以重命名这个jar包.

我查询了一下这个问题 原因是因为sap公司不允许进行sapjco3jar包的重命名或者重新打包,并且sap公司的某些客户场景遇到了问题,因此在sapjco3中添加了sapjco3的重命名检查,并将其硬编码到了jar包中, 也就是我们俗称的"写死了"

而我们在打包之后, maven会默认把version放在jar名的后面进行拼接. 所以造成了这个问题.

解决方案

1. 手动重命名

这个解决方案是有点朴实无华了, 但确实有效

你可以在打包过后的jar包中找到lib文件夹并把sapjco3-xxxx.jar重命名成sapjco3.jar或者sapjco3_IDE.jar. 然后保存. 这两个名字都可以解决问题

缺点就是: 你每次打完包都需要重命名, 以后交接文档什么的这一些都要写进去

2. 配置copy插件并指定该包进行stripVersion操作

在sap的官网论坛中我们可以看到, 还是有人不太满意这个手动

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值