![](/img/trans.png)
[英]package com.mongodb.client does not exist for a java console program
[英]"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.