求助!同样的代码分别在ubuntu和centos7下会出现不同结果,请问有人了解吗

其实我也恋长安 2021-02-21 10:21:44
如题:
该代码使用Idea编译,在WINDOWS下编译正常,在ubuntu下编译正常,但是在centos下会出现有关类型强转的错误?
错误如下:Exception in thread "main" java.lang.ClassCastException: com.xx.sdk.AbstractDocumentSigner$1 cannot be cast to com.xx.sdk.pdf.PDFDocumentSignResult
涉及到的代码:
PDFDocumentSigner signers = PDFDocumentSigner.getInstance();
final PDFDocumentSignResult result = (PDFDocumentSignResult)signers.sign(request);

public abstract class AbstractDocumentSigner<Payload, BatchPayload, SignResult extends DocumentSignResult, BatchSignResult> implements DocumentSigner<Payload, BatchPayload, SignResult, BatchSignResult> {

public SignResult sign(Payload payload) {
final Throwable err = this.checkAndLoadLibrary();
if (err != null) {
return new DocumentSignResult() {
public Throwable getError() {
return new RuntimeException("装载Docsign SDK失败", err);
}

public int getResultCode() {
return -1;
}
};
}
} else {
return this.signInternal(payload);
}
}
}


public class PDFDocumentSigner extends AbstractDocumentSigner<PDFDocumentSignRequest, PDFDocumentSignBatchRequest, PDFDocumentSignResult, PDFDocumentBatchSignResult> {
protected PDFDocumentSignResult signInternal(PDFDocumentSignRequest payload){}
}

...全文
343 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
原来是这问题导致的,但搜索网上的解决办法,这个包lib32stdc++6根本找不到
  • 打赏
  • 举报
回复
引用 4 楼 RockeyCui 的回复:
jdk版本不一样么?
不是这个问题
  • 打赏
  • 举报
回复
最后在一台arm机器上找到了libstdc++.so.6,放进去就可以了,结贴。
  • 打赏
  • 举报
回复
很奇怪的事,在Centos7客户端上使用idea编译该程序时出现同样错误之后,我将Centos7中libstdc++.so.6.0.19更新到libstdc++.so.6.0.26,该问题被解决;但是在Centos7服务器采用同样操作却无效
  • 打赏
  • 举报
回复
引用 1 楼 lin351550660 的回复:
包没找到啊,引入进来就好了 或者包冲突了 去掉一个
不是这问题,总共就三个包
RockeyCui 2021-02-22
  • 打赏
  • 举报
回复
jdk版本不一样么?
lin351550660 2021-02-21
  • 打赏
  • 举报
回复
包没找到啊,引入进来就好了 或者包冲突了 去掉一个

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧