【发布时间】:2021-05-17 16:07:28
【问题描述】:
我为 mongo_connection 创建了一个用于 SSL 连接的配置文件。我的构建正在成功,但是在运行应用程序时出现错误
java.lang.IllegalArgumentException: Could not find class [org.springframework.data.mongodb.MongoDatabaseFactory]错误
在 mongo compass 中运行相同的程序时,我可以连接 mongo 字符串。请检查下面的代码并纠正我出错的地方。
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>2.1.8.RELEASE</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.7</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-core</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.2.3</version>
</dependency>
</dependencies>
我添加了以上依赖项,但没有帮助。
package com.xxx.yyy.config;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoClientURI;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
@Configuration
public class MongoDbConfig extends AbstractMongoConfiguration {
public MongoClientOptions.Builder mongoClientOptionsBuilder(){
String javaPath = System.getProperty("java.home");
System.setProperty ("javax.net.ssl.keyStore",javaPath+"/lib/security/cacerts");
System.setProperty ("javax.net.ssl.keyStorePassword","changeit");
System.out.println(javaPath);
System.out.println(System.getProperty("javax.net.ssl.keyStore"));
MongoClientOptions.Builder builder = MongoClientOptions.builder();
// MongoClientOptions options=builder.sslEnabled(true).build();
return builder;
}
MongoClientURI uri = new MongoClientURI("my_mongo_url",
mongoClientOptionsBuilder().sslEnabled(true));
@Override
public MongoClient mongoClient() {
return new MongoClient(uri);
}
@Override
protected String getDatabaseName() {
return "MY_DATABASE_NAME";
}
}
请检查并提前感谢
【问题讨论】:
标签: java spring mongodb spring-boot connection