java - 将 cosmosDB sdk 与 java 一起使用时出现 ALLOW_TRAILING_COMMA 错误

标签 java azure-cosmosdb

我在使用 cosmosdb sdk for Java 时遇到以下异常:

Exception in thread "main" java.lang.NoSuchFieldError: ALLOW_TRAILING_COMMA
    at com.microsoft.azure.cosmosdb.internal.Utils.<clinit>(Utils.java:75)
    at com.microsoft.azure.cosmosdb.rx.internal.RxDocumentClientImpl.<clinit>(RxDocumentClientImpl.java:132)
    at com.microsoft.azure.cosmosdb.rx.AsyncDocumentClient$Builder.build(AsyncDocumentClient.java:224)
    at Program2.<init>(Program2.java:25) 
    at Program2.main(Program2.java:30) 

我只是尝试使用 AsyncDocumentClient 连接到 CosmosDB。异常就在那一刻发生了。

executorService = Executors.newFixedThreadPool(100); 
scheduler = Schedulers.from(executorService); 

client = new AsyncDocumentClient.Builder()
          .withServiceEndpoint("[cosmosurl]")
          .withMasterKeyOrResourceToken("[mykey]")
          .withConnectionPolicy(ConnectionPolicy.GetDefault())
          .withConsistencyLevel(ConsistencyLevel.Eventual)
          .build(); 

我听说有一些库冲突,但我还没有找到正确的修复方法。

谢谢!

最佳答案

请引用我的工作示例。

Java代码:

import com.microsoft.azure.cosmosdb.ConnectionPolicy;
import com.microsoft.azure.cosmosdb.ConsistencyLevel;
import com.microsoft.azure.cosmosdb.rx.AsyncDocumentClient;
public class test {

    public static void main(String[] args) throws Exception {

        AsyncDocumentClient client = new AsyncDocumentClient.Builder()
                .withServiceEndpoint("https://XXX.documents.azure.com:443/")
                .withMasterKeyOrResourceToken("XXXX")
                .withConnectionPolicy(ConnectionPolicy.GetDefault())
                .withConsistencyLevel(ConsistencyLevel.Eventual)
                .build();
        System.out.println(client);
    }
}

pom.xml

<dependencies>
    <dependency>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-cosmosdb</artifactId>
        <version>2.6.4</version>
    </dependency>
    <dependency>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-cosmosdb-commons</artifactId>
        <version>2.6.4</version>
    </dependency>
</dependencies>

关于java - 将 cosmosDB sdk 与 java 一起使用时出现 ALLOW_TRAILING_COMMA 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59630653/

相关文章:

azure - 如何获取 azure 函数查询的请求费用?

java - 如何从play框架中的application.conf文件中读取属性?

java - 是否有一些完全配置的 Spring Wicket Hibernate 原型(prototype),包括注释?

java - libgdx- 像素图 : can I somehow change the width of the line?

azure - 如何使用 CosmosDB 对用户权限数据进行分区

python - CosmosDB Python获取多个项目

java - 如何组合两个字节数组

java - Android 按钮的动画效果不符合预期

azure-cosmosdb - 如何并行查询不同类型的文档?

azure - DocumentDB - 从触发器内部访问另一个集合