MyObjectBox为红色/未找到,但Java应用程序仍然可以使用

时间:2018-10-29 17:41:49

标签: java objectbox

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

一切正常,我将东西放在盒子等中,但是MyObjectBox类在使用时始终为红色。

我可以在build / classes / main / db中看到生成的.class和.java文件以及meta _类(db是我在实际代码中拥有的包名称),但是由于某些原因,我可以't Import MyObjectBox。

因此,我也无法导入_类以在查询中使用,这现在使我无法继续学习。

我使用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);
    }
}

1 个答案:

答案 0 :(得分:1)

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