Здравствуйте, коллеги!
С инструментарием Java почти не работал. Хочу разработать одно приложение.
Сделал проект в IntelliJ + Gradle. Мне нужно подключить объектную СУБД ObjectBox.
Есть ошибка: "Package not found: io.objectbox"
Вероятно, не понимаю, как устроена иерархия и взаимодействие файлов build.gradle, чтобы package-ы подхватились. Reload all Gradle Projects ошибок не выдаёт.
Предыстория такая:
У меня простой консольный проект. Изначально в нём был только один корневой файл build.gradle. В /src есть main и test.
Я создал в /src вложенный build.gradle, потому что в корневом не разрешалось добавлять следующее:
plugins {
id 'java-library'
id 'io.objectbox'
}
dependencies {
def objectboxVersion = "3.7.1"
implementation("io.objectbox:objectbox-java:$objectboxVersion")
implementation("io.objectbox:objectbox-java-api:$objectboxVersion")
implementation("io.objectbox:objectbox-windows:$objectboxVersion")
annotationProcessor("io.objectbox:objectbox-processor:$objectboxVersion")
}
objectbox {
debug = true
}
В корневой build.gradle я добавил лишь это:
buildscript {
ext.objectboxVersion = "3.7.1"
repositories {
mavenCentral()
google()
}
dependencies {
classpath("io.objectbox:objectbox-gradle-plugin:$objectboxVersion")
}
}
При попытке использовать:
import io.objectbox.annotation.*;
import io.objectbox.relation.*;
Получаю:
error: package io.objectbox.annotation does not exist
error: package io.objectbox.relation does not exist
Что я упустил, что делаю не так? Точно такой же код в build.gradle в Android Studio прекрасно работает, package-ы подключаются.
Для начала убери идею и создай проект, который собирается в консоли. Не нужно каких-то непонятных усложнений. У тебя должна быть структура примерно такого вида:
myproject/
build.gradle
src/main/java/ru/mycode/MyClass.java
Напиши в блокноте это всё и добейся, чтобы `gradle build` срабатывал без ошибок. А потом этот проект импортируй в идею.
Здравствуйте, vsb, Вы писали:
vsb>Для начала убери идею и создай проект, который собирается в консоли. Не нужно каких-то непонятных усложнений. У тебя должна быть структура примерно такого вида:
vsb>vsb>myproject/
vsb> build.gradle
vsb> src/main/java/ru/mycode/MyClass.java
vsb>
vsb>Напиши в блокноте это всё и добейся, чтобы `gradle build` срабатывал без ошибок. А потом этот проект импортируй в идею.
Уже нашёл решение, ответил в соседней ветке: проблема была в другом, для меня совершенно не очевидная —
http://rsdn.org/forum/java/8643644.1Автор: Светлояр
Дата: 30.11.23
P.S. Проект изначально собирался, без objectbox-а. Собственно там и был один файл.
P.P.S. Не знаю, насколько это корректно для Java-проектов, структура получилась такой:
myproject/
|--build.gradle
|--(...)
|--consoletool/
|--build.gradle // <-- вот в нём как раз подключаем plugins { id 'io.objectbox' } и объявляем нужные dependencies.
|--src/...
|--(...)
|--src/
|--(...) // а изначально у меня build.gradle был здесь и класс с методом main я здесь размещал