无法访问 com.sap.cloud.sdk 中的私有 类。s4hana.datamodel.odata.namespaces
Unable to access private classes in com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces
我正在尝试按照 SDK 教程中的步骤 20 创建一个实体。但是当我使用命令 mvn clean install
构建项目时
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.AddressEmailAddress;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartnerAddress;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartnerRole;
我看到以下错误。
[ERROR]
/C:/Users/sanke/workspace/Businesspartners_cloudfoundry/application/src/main/java/com/yash/cf/Businesspartners_cloudfoundry/BusinessPartnerServlet.java:[81,17]
toEmailAddress(java.util.List)
has private access in
com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartnerAddress.BusinessPartnerAddressBuilder
[ERROR]
/C:/Users/sanke/workspace/Businesspartners_cloudfoundry/application/src/main/java/com/yash/cf/Businesspartners_cloudfoundry/BusinessPartnerServlet.java:[93,17]
toBusinessPartnerAddress(java.util.List)
has private access in
com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartner.BusinessPartnerBuilder
[ERROR]
/C:/Users/sanke/workspace/Businesspartners_cloudfoundry/application/src/main/java/com/yash/cf/Businesspartners_cloudfoundry/BusinessPartnerServlet.java:[94,17]
toBusinessPartnerRole(java.util.List)
has private access in
com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartner.BusinessPartnerBuilder
博客仍然引用1.5.0版本。您遇到的错误表明您使用的是更新版本 >= 1.6.0,其中导航属性的签名略有更改。例如,方法已改写为 emailAddress(AddressEmailAddress... value)
,而不是 toEmailAddress(List<AddressEmailAddress> value)
。关于此事还请咨询release notes for 1.6.0
因此,请将您的代码更改为以下内容:
final BusinessPartnerAddress businessPartnerAddress = BusinessPartnerAddress.builder()
.country(country)
.cityName(city)
.emailAddress(emailAddress)
.build();
教程也更新了。
我正在尝试按照 SDK 教程中的步骤 20 创建一个实体。但是当我使用命令 mvn clean install
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.AddressEmailAddress;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartnerAddress;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartnerRole;
我看到以下错误。
[ERROR] /C:/Users/sanke/workspace/Businesspartners_cloudfoundry/application/src/main/java/com/yash/cf/Businesspartners_cloudfoundry/BusinessPartnerServlet.java:[81,17] toEmailAddress(java.util.List) has private access in com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartnerAddress.BusinessPartnerAddressBuilder [ERROR] /C:/Users/sanke/workspace/Businesspartners_cloudfoundry/application/src/main/java/com/yash/cf/Businesspartners_cloudfoundry/BusinessPartnerServlet.java:[93,17] toBusinessPartnerAddress(java.util.List) has private access in com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartner.BusinessPartnerBuilder [ERROR] /C:/Users/sanke/workspace/Businesspartners_cloudfoundry/application/src/main/java/com/yash/cf/Businesspartners_cloudfoundry/BusinessPartnerServlet.java:[94,17] toBusinessPartnerRole(java.util.List) has private access in com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesspartner.BusinessPartner.BusinessPartnerBuilder
博客仍然引用1.5.0版本。您遇到的错误表明您使用的是更新版本 >= 1.6.0,其中导航属性的签名略有更改。例如,方法已改写为 emailAddress(AddressEmailAddress... value)
,而不是 toEmailAddress(List<AddressEmailAddress> value)
。关于此事还请咨询release notes for 1.6.0
因此,请将您的代码更改为以下内容:
final BusinessPartnerAddress businessPartnerAddress = BusinessPartnerAddress.builder()
.country(country)
.cityName(city)
.emailAddress(emailAddress)
.build();
教程也更新了。