繁体   English   中英

使用 OData 生成器生成类型化 OData 客户端:自动生成的代码无法与 SAP 库一起编译

[英]Generate a Typed OData Client With the OData Generator: Autogenerated code does not compile with SAP library

我使用 maven 插件生成了代码,但代码无法编译。 https://sap.github.io/cloud-sdk/docs/java/features/odata/generate-typed-odata-v2-and-v4-client-for-java我正在使用odata V2插件

我不确定如何解决此编译问题:

HttpClientAccessor 类型中的 getHttpClient(String) 方法不适用于 arguments (HttpDestinationProperties)

这是我的pom文件。

 <dependency> <groupId>com.sap.cloud.s4hana.datamodel</groupId> <artifactId>odata-core</artifactId> <version>2.28.0</version> </dependency> <:-- https.//mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18:22</version> </dependency> <.-- https.//mvnrepository.com/artifact/javax.inject/javax.inject --> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency>
com.sap.cloud.sdk.datamodel odata-generator-maven-plugin 3.59.0

您指的是正确的文档,但版本号是您的 pom 不正确。

在文档中,它说 3.xx,截至 10.12.2022 将是 3.59.0。

<plugin>
    <groupId>com.sap.cloud.sdk.datamodel</groupId>
    <artifactId>odata-generator-maven-plugin</artifactId>
    <!-- Please use the latest version here-->
    <version>3.XX.X</version>
    <executions>
        <execution>
            <id>generate-consumption</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputDirectory>${project.basedir}/edmx</inputDirectory>
                <outputDirectory>${project.build.directory}/vdm</outputDirectory>
                <deleteOutputDirectory>true</deleteOutputDirectory>
                <packageName>com.mycompany.vdm</packageName>
                <defaultBasePath>odata/v2/</defaultBasePath>
                <compileScope>COMPILE</compileScope>
                <serviceMethodsPerEntitySet>true</serviceMethodsPerEntitySet>
                <!-- (Optional) You can add a custom copyright header:
                <copyrightHeader>Copyright (c) this year, my company</copyrightHeader>

                Or use the SAP copyright header:
                <sapCopyrightHeader>true</sapCopyrightHeader>
                -->
            </configuration>
        </execution>
    </executions>
</plugin>

感觉就像您正在使用基于过时和弃用的 SDK 版本的现有项目。 您可以尝试生成一个新项目并从那里使用我们的 maven 插件吗?

您还可以检查您要使用的服务是否在 SAP API Business Hub 上具有预生成的客户端库。 检查这个例如https://api.sap.com/api/API_COSTCENTERACTIVITYTYPE_SRV/cloud-sdk/Java

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM