簡體   English   中英

“錯誤:(3,19) java: 包 com.mongodb.client 不可見” - 將 MongoDB 與 IntelliJ 中的 Maven JavaFX 項目連接時出錯

[英]"Error:(3,19) java: package com.mongodb.client is not visible" - Error connecting MongoDB with a Maven JavaFX project in IntelliJ

我正在使用 Maven 在 IntelliJ 中處理 JavaFX 項目,現在我正試圖讓它連接到 MongoDB。 我正在關注來自 MongoDB 的官方視頻做同樣的事情,這是我目前添加的內容。 對我的 pom 文件的依賴:

    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver-sync</artifactId>
        <version>3.12.7</version>
    </dependency>

以及在我的public static void main連接的代碼:

    public static void main(String[] args) {

        String connectionString = "mongodb+srv://admin:javaapp@orderscluster.wcn38.mongodb.net/<dbname>?retryWrites=true&w=majority";

        try (MongoClient mongoClient = MongoClients.create(connectionString)) {
            MongoIterable<String> strings = mongoClient.listDatabaseNames();
            MongoCursor<String> cursor = strings.cursor();

            while (cursor.hasNext()) {
                System.out.println(cursor.next());
        }
    }
    launch(); // This launches the JavaFX side of the app
}

這是他們在視頻中添加的唯一代碼,在此階段它應該正確地將所有數據庫名稱打印到控制台。 但是我收到了這 4 個錯誤:

Error:(3,19) java: package com.mongodb.client is not visible
Error:(4,19) java: package com.mongodb.client is not visible
Error:(5,19) java: package com.mongodb.client is not visible
Error:(6,19) java: package com.mongodb.client is not visible

我錯過了什么嗎? 我找不到有關此特定錯誤的太多信息,因此我按照視頻說明進行了操作。感謝您的幫助! 對此,我真的非常感激。

因此,根據MongoDB 的這個文檔,我發現我必須添加一個模塊聲明,因為我使用的是 Java 9+ 版本。 我將此添加到我的 module-info.java 並成功清除了這些錯誤:

requires org.mongodb.driver.sync.client;

這確實回答了我原來的問題,但是我應該注意,當我嘗試運行時出現了一個新錯誤:

Error:(45, 48) java: cannot access com.mongodb.ConnectionString

萬一讀到這篇文章的人碰巧在做同樣的事情並得到同樣的錯誤,我會更新這篇文章,提供一個解決方案或一個新的整體解決方案(因為我相信這個錯誤可能與第一個有關)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM