SpringBoot jar中ODataApplicationInitializer的空指针异常

时间:2019-03-20 05:48:12

标签: s4sdk

我使用S / 4HANA SDK(春季启动原型)创建了我的项目,现在我需要提供某些ODATA服务的功能,因此我还将com.sap.cloud.servicesdk.provodatav4依赖项引入到我的项目中,然后创建元数据文件和odata服务实现类。但是,将我的项目打包到jar文件中并运行后,我从com.sap.cloud.sdk.service.prov.v4.rt.core.web.ODataApplicationInitializer类获得了空指针异常。看完此类的源代码之后,似乎它使用“ File”对象从classpath中获取元数据文件,但是这种方式在jar文件中不起作用。我的问题是:这是否意味着我必须将打包方式更改为“ war”才能使用此SDK进行odata服务开发?非常感谢。

2 个答案:

答案 0 :(得分:6)

不幸的答案是,从今天开始,Service SDK(不是S / 4HANA Cloud SDK)仅与纯Tomcat环境兼容,并且以Servlet标准以及周围机制为默认值。原因是服务SDK是SAP Cloud Application Programming Model的组成部分(运行时),它是独立的,不能与诸如Spring Boot之类的任意框架结合。

答案 1 :(得分:4)

除了Philipp的回答(不支持此功能)外,您还可以在此处使用traditional deployment。但是,由于官方可能不支持此方法,因此我鼓励考虑采用其他方法。