1

我正在尝试在一个简单的 java 服务器端应用程序中使用 ObjectBox。

一切正常,我把东西放在盒子里等等,但是当我使用 MyObjectBox 类时它总是红色的。

我可以在 build/classes/main/db 中看到生成的 .class 和 .java 文件以及 meta _ 类(db 是我在实际代码中的包名),但由于某种原因我无法导入我的对象框。

因此,我也无法导入 _ 类以在查询中使用,这现在有点妨碍我进一步了解。

我使用 objectBox 的代码在一个名为 DB 的类中,我在下面复制了它,以防我做错了什么。

但实际上它有效,我很困惑!

谢谢

更新:如果我运行 gradle clean build,我的应用程序运行良好,如果我在 intelliJ 中运行 Build->Build Project 然后我得到错误

Error:(27, 21) java: cannot find symbol
  symbol:   variable MyObjectBox
  location: class DB

.

package db;

import java.io.File;
import java.io.IOException;

import io.objectbox.Box;
import io.objectbox.BoxStore;

public class DB {

    private File boxStoreDir;
    private static BoxStore store;

    public DB() {
        try {
            createMyObjectBox();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private void createMyObjectBox() throws IOException {
        File objectstorefile = new File("../objectBox/objectstorefile");
        if(!objectstorefile.isDirectory()) {
            objectstorefile.mkdirs();
        }
        boxStoreDir = objectstorefile;

        if(store == null) {
            store = MyObjectBox.builder().directory(boxStoreDir).build();
        }
    }

    public<T> Box<T> getBox(Class<T> object) {
        if(store == null) {
            try {
                createMyObjectBox();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return store.boxFor(object);
    }
}
4

1 回答 1

1

忘记apply plugin: 'net.ltgt.apt-idea'在 build.gradle

于 2018-10-29T19:14:47.520 回答