我正在尝试使用MongoDB创建一个数据库,但是当我创建时,我得到了以下错误:
[18:33:13 WARN]: java.lang.ArrayStoreException: dev.morphia.mapping.codec.PrimitiveCodecRegistry
[18:33:13 WARN]: at TerraNova-1.0-ALPHA-all.jar//dev.morphia.mapping.Mapper.<init>(Mapper.java:96)
[18:33:13 WARN]: at TerraNova-1.0-ALPHA-all.jar//dev.morphia.DatastoreImpl.<init>(DatastoreImpl.java:70)
[18:33:13 WARN]: at TerraNova-1.0-ALPHA-all.jar//dev.morphia.Morphia.createDatastore(Morphia.java:49)
[18:33:13 WARN]: at TerraNova-1.0-ALPHA-all.jar//dev.morphia.Morphia.createDatastore(Morphia.java:60)
[18:33:13 WARN]: at TerraNova-1.0-ALPHA-all.jar//io.github.vyketype.terranova.database.Database.init(Database.java:49)
[18:33:13 WARN]: at TerraNova-1.0-ALPHA-all.jar//io.github.vyketype.terranova.TerraNova.onEnable(TerraNova.java:34)
and the rest of the stack trace leading to the Java library stuff...我已经研究了这个异常的原因,我知道这是一个关于数组的问题,但是我没有使用任何数组。当我创建数据存储时会发生此错误。这是我的一些代码。
private MongoClient client;
private Datastore datastore;
public void init() {
String confString = Objects.requireNonNull(instance.getConfig().getString("database"));
ConnectionString connectionString = new ConnectionString(confString);
MongoClientSettings settings = MongoClientSettings.builder()
.applyConnectionString(connectionString)
.uuidRepresentation(UuidRepresentation.STANDARD)
.build();
client = MongoClients.create(settings);
datastore = Morphia.createDatastore(client, "terranova-test");
datastore.ensureIndexes();
datastore.getMapper().map(User.class);
}所有这些代码都在一个Database类中。我不知道我做错了什么,尤其是为什么我得到了ArrayStoreException。这个错误已经困扰了我相当一段时间了,所有的帮助都很感激!
发布于 2022-08-13 20:33:15
我最后一次看到这种情况发生的原因是,莫菲亚或驱动程序的版本相互矛盾。我会开始寻找那里。
https://stackoverflow.com/questions/73346464
复制相似问题