Мне нужно сделать простой фактическую способность с DB4O, если мне нужно добавить и выбрать строки, rpobles, которые у меня есть, я пытаюсь выбрать строки, я получаю эту ошибку < /p>
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make field private int classes.Professor.id accessible: module recuperacio does not "opens classes" to module db4o
at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:388)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:364)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:312)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:183)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:177)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.JDK_1_2.setAccessible(JDK_1_2.java:122)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.Platform4.setAccessible(Platform4.java:526)
at db4o@8.0.249.16098-all-java5/com.db4o.reflect.jdk.JdkField.setAccessible(JdkField.java:48)
at db4o@8.0.249.16098-all-java5/com.db4o.reflect.jdk.JdkField.(JdkField.java:24)
at db4o@8.0.249.16098-all-java5/com.db4o.reflect.jdk.JdkClass.createField(JdkClass.java:71)
at db4o@8.0.249.16098-all-java5/com.db4o.reflect.jdk.JdkClass.getDeclaredFields(JdkClass.java:79)
at db4o@8.0.249.16098-all-java5/com.db4o.reflect.generic.GenericClass.getDeclaredFields(GenericClass.java:106)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ClassMetadata.reflectFields(ClassMetadata.java:1824)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ClassMetadata.collectReflectFields(ClassMetadata.java:394)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ClassMetadata.initializeAspects(ClassMetadata.java:240)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.PendingClassInits.initializeAspects(PendingClassInits.java:56)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.PendingClassInits.checkStatics(PendingClassInits.java:62)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.PendingClassInits.checkWrites(PendingClassInits.java:72)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.PendingClassInits.checkInits(PendingClassInits.java:83)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.PendingClassInits.process(PendingClassInits.java:45)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ClassMetadataRepository.produceClassMetadata(ClassMetadataRepository.java:233)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectContainerBase.produceClassMetadata(ObjectContainerBase.java:1019)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectAnalyzer.detectClassMetadata(ObjectAnalyzer.java:58)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectAnalyzer.analyze(ObjectAnalyzer.java:40)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1675)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1618)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1604)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1602)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:427)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:413)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1602)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ObjectContainerBase.store(ObjectContainerBase.java:1584)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ExternalObjectContainer.store(ExternalObjectContainer.java:129)
at db4o@8.0.249.16098-all-java5/com.db4o.internal.ExternalObjectContainer.store(ExternalObjectContainer.java:124)
at recuperacio/db.newdb4o.prova(newdb4o.java:26)
at recuperacio/main.main2.main(main2.java:12)
< /code>
Я могу понять, что я должен активировать опцию «Открытые классы», но я не могу найти какую -либо информацию о том, как и должны были это сделать, это важная часть проекта: < /p>
package db;
import java.io.File;
import com.db4o.Db4o;
import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.config.EmbeddedConfiguration;
import classes.Professor;
public class newdb4o {
private ObjectContainer db;
public newdb4o() {
super();
String DB4OFILENAME ="taula.db4o" ;
new File(DB4OFILENAME).delete();
EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
ObjectContainer db = Db4oEmbedded.openFile(config,DB4OFILENAME);
this.db = db;
}
public void prova() {
Professor testteacher1 = new Professor(1, "test1", 5);
db.store(testteacher1);
}
public void test2() {
Professor testteacher1 = new Professor(1, null, 0);
ObjectSet result =db.queryByExample(testteacher1);
System.out.print(result);
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... en-classes
Проблемы с модулем DB4O не открывают классы ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как использовать fmt с модулем С++ 20 и модулем стандартной библиотеки С++ 23 в cmake?
Anonymous » » в форуме C++ - 0 Ответы
- 45 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Диплинки во Flutter при закрытии приложения открывают другой экземпляр на Android
Anonymous » » в форуме Android - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-