运行仅包含在POM中的tenant-scp-neo的本地测试时的NoClassDefFoundError

时间:2018-04-06 10:24:23

标签: s4sdk

blog entry的推动下,我试图在经典的SAP Neo SCP上为我们现有的应用程序实现多租户。

我添加了依赖

<dependency>
    <groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
    <artifactId>tenant-scp-neo</artifactId>
    <version>1.9.5</version>
</dependency>

到我的POM并通过

访问测试程序中的租户
String tenantId = TenantAccessor.getCurrentTenant().getTenantId();

然后,我收到了这个错误

java.lang.NoClassDefFoundError: com/google/common/collect/Multiset
    at com.sap.cloud.sdk.cloudplatform.monitoring.ExceptionMonitor.<init>(ExceptionMonitor.java:30) ~[core-1.9.5.jar:na]
    at com.sap.cloud.sdk.cloudplatform.monitoring.ExceptionMonitor.<clinit>(ExceptionMonitor.java:28) ~[core-1.9.5.jar:na]
    at com.sap.cloud.sdk.cloudplatform.logging.CloudLoggerFactory$CloudLogger.<init>(CloudLoggerFactory.java:67) ~[core-1.9.5.jar:na]
    at com.sap.cloud.sdk.cloudplatform.logging.CloudLoggerFactory$CloudLogger.<init>(CloudLoggerFactory.java:47) ~[core-1.9.5.jar:na]
    at com.sap.cloud.sdk.cloudplatform.logging.CloudLoggerFactory.getLogger(CloudLoggerFactory.java:19) ~[core-1.9.5.jar:na]
    at com.sap.cloud.sdk.cloudplatform.tenant.ScpNeoTenantFacade.<clinit>(ScpNeoTenantFacade.java:21) ~[tenant-scp-neo-1.9.5.jar:na]

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

经过一些调查,似乎问题是Maven存储库中的一个损坏的guava jar文件(在.m2文件夹中)。删除相应的文件夹并让Maven再次下载它们解决了这个问题。