有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVAlang.NoSuchMethodError:com。mongodb。联系DefaultClusterFactory。createCluster

我正在尝试将MongoDB与Java连接起来。这是我的密码

    MongoCredential mongoCredential;
    mongoCredential = MongoCredential.createCredential(<uname>, <dbname>, <password>);
    List<ServerAddress> list = Arrays.asList(new ServerAddress("localhost", 27017));

    MongoClientSettings.Builder mongoClientSettingsBuilder = MongoClientSettings.builder()
            .credential(mongoCredential)
            .applyToClusterSettings(builder -> builder.hosts(list));

    MongoClientSettings settings = mongoClientSettingsBuilder.build();      

执行此操作时,我会得到错误

Exception in thread "main" java.lang.NoSuchMethodError: com.mongodb.connection.DefaultClusterFactory.createCluster(Lcom/mongodb/connection/ClusterSettings;Lcom/mongodb/connection/ServerSettings;Lcom/mongodb/connection/ConnectionPoolSettings;Lcom/mongodb/connection/StreamFactory;Lcom/mongodb/connection/StreamFactory;Ljava/util/List;Lcom/mongodb/event/CommandListener;Ljava/lang/String;Lcom/mongodb/MongoDriverInformation;Ljava/util/List;)Lcom/mongodb/connection/Cluster;

我不知道这是什么原因。有人能帮我吗


共 (1) 个答案

  1. # 1 楼答案

    这可能是由系统检测到的几个mongodb驱动程序jar文件引起的冲突和混乱。我只是通过禁用mongodb驱动程序同步和在pom中使用spring boot starter数据mongodb解决了类似的问题。类似于以下内容的xml:

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-mongodb</artifactId>
            </dependency>
    <!         <dependency> >
    <!             <groupId>org.mongodb</groupId> >
    <!             <artifactId>mongodb-driver-sync</artifactId> >
    <!             <version>4.2.3</version> >
    <!         </dependency> >