在 maven Sprinboot 应用程序 SAP CF 中使用 SAP JCo 时出现 NoClassDefFoundError

NoClassDefFoundError while using SAP JCo in maven Sprinboot Application SAP CF

提问人:Athul Ram 提问时间:5/10/2023 最后编辑:Sandra RossiAthul Ram 更新时间:5/11/2023 访问量:190

问:

尝试在我的 Springboot 应用程序中使用 sapjco3 时,我遇到了以下错误。我正在使用 tomee7 将我的应用程序部署到 SAP Cloud foundry 环境打包为 war 文件TARGET_RUNTIME

java.lang.NoClassDefFoundError:com/sap/conn/jco/JCo:无法初始化类,因为先前的初始化尝试失败]“,”level“:”错误”

在从 Maven 添加依赖项时,它使用以下名称打包 SAPJCO JAR 并出现以下错误

java.lang.ExceptionInInitializerError:JCo 初始化失败,java.lang.UnsatisfiedLinkError:java.library.path:[/usr/java/packages/lib/amd64, /usr/lib64, /lib64, /lib, /usr/lib] 和系统中没有 sapjco3

enter image description here

[https://sap.github.io/cloud-sdk/docs/java/features/bapi-and-rfc/overview]

我已将springboot打包为war而不是jar来解决sapjco依赖关系

https://sap.github.io/cloud-sdk/docs/java/guides/spring-boot-war-deployment

spring-boot-maven-plugin sapjco3 sap-cloud-foundry

评论


答:

1赞 MatKuhr 5/11/2023 #1

将依赖项的范围更改为“已提供”,如文档中所述。SAP Java buildpack 已经包含一个适合 Cloud Foundry 环境的 JCo 运行时。(感谢马库斯,他最初在这里回答了这个问题)。

有关如何管理 SAP Java Buildpack 提供的依赖项的详细信息,请参阅此处的专用指南