MyObjectBox красный / не найден, но приложение Java все еще работает - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь использовать ObjectBox в простом приложении на стороне сервера Java.

Все работает нормально, я кладу вещи в коробки и т. Д., Но класс MyObjectBox всегда красный, когда я его использую.

Я могу увидеть сгенерированные файлы .class и .java вместе с мета-классами в build / classes / main / db (db - это имя пакета, которое есть в моем реальном коде), но по какой-то причине я могу не импортировать MyObjectBox.

Из-за этого я также не могу импортировать классы _ для использования в запросах, что теперь как бы мешает мне двигаться дальше.

Мой код для использования objectBox находится внутри класса DB, который я скопировал ниже, на случай, если с этим что-то не так.

Но поскольку это на самом деле работает, я очень запутался !!

Спасибо

ОБНОВЛЕНИЕ: если я запускаю чистую сборку gradle, мое приложение работает нормально, если я запускаю Build-> Build Project в intelliJ, то я получаю ошибку

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 голосов
/ 29 октября 2018

Забудьте apply plugin: 'net.ltgt.apt-idea' в build.gradle

...