java - 使用 MongoDB 驱动程序保存时出现异常
问题描述
我的问题是关于执行以下代码时引发的异常:
public boolean createUser(String name, String nickname, String password) {
Hash h = new Hash();
String hashedPass = h.hashPassword(password);
MongoCollection users = Connection.connect().getCollection("users");
RegisteredUser rUser = new RegisteredUser(name, hashedPass, nickname);
users.save(rUser);
return true;
}
崩溃发生在 users.save(rUser); 如下:
Exception in thread "main" java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.introspect.AnnotatedMember.fixAccess()V
at org.jongo.marshall.jackson.JacksonObjectIdUpdater.mustGenerateObjectId(JacksonObjectIdUpdater.java:48)
at org.jongo.Insert.preparePojo(Insert.java:72)
at org.jongo.Insert.save(Insert.java:47)
at org.jongo.MongoCollection.save(MongoCollection.java:128)
at aud.io.mongo.MongoDatabase.createUser(MongoDatabase.java:40)
at rest.Test.main(Test.java:8)
我正在使用以下依赖项:
<dependency>
<groupId>org.jongo</groupId>
<artifactId>jongo</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.5.0</version>
</dependency>
这是怎么回事?
我尝试了什么: - 通过 maven 重新导入 - 更改 mongoDB 版本(此代码适用于使用 3.5.0 的旧项目)
数据库在线并且工作正常。
我的猜测:不兼容的依赖版本
解决方案
使用 jongo 1.3.1 修复了此问题,请参阅https://github.com/bguerout/jongo/issues/319
推荐阅读
- open-liberty - Open Liberty 入门:404
- html - 使用 snapchat 浏览器下载 HTML 文件失败
- javascript - 硬刮 API
- python - 在 pyQt4 中 QCheckBox 的 clicked() 和 stateChanged() 信号有什么区别?
- java - 让 Java Consumer 接受 Kotlin lambda
- python - 当使用 sympy 的积分有多个解时如何检索特定解?
- python - Google Sheets API Python 批量更新和插入注释
- python - 在 matplotlib 上缩放两个不同的 y 轴的问题
- excel - 组合多个宏 (worksheet_change)
- matlab - 带有变量名称的 for 循环 MATLAB