Spring boot не добавляет spring-boot-starter-data-jpa

При попытке добавить spring-boot-starter-data-jpa в мой проект через gradle он просто этого не делает. Тег @Entity не работает, и jar не отображается в папке проекта и внешних зависимостей. Нет ошибки, если я не вставлю тег @Entity. Вот мой файл Gradle для справки.

plugins {
    id 'org.springframework.boot' version '2.3.4.RELEASE'
    id 'io.spring.dependency-management' version '1.0.10.RELEASE'
    id 'java'
}
group = 'com.Hype'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '14'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version:
    '2.3.4.RELEASE'
    implementation 'org.springframework.boot:spring-boot-starter-data-rest'
    implementation 'org.springframework.boot:spring-boot-starter-jdbc'
    implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
    implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-web-services'
    implementation 'org.springframework.session:spring-session-jdbc'
    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'mysql:mysql-connector-java'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
    testImplementation 'org.springframework.security:spring-security-test'

}

test {
    useJUnitPlatform()
}

Прежде чем кто-либо упомянет об этом, да, я несколько раз пытался очистить и перестроить проект.


person David Kostandin    schedule 27.10.2020    source источник
comment
Пожалуйста, добавьте свой ответ SOLVED в качестве ответа вместо редактирования вопроса, затем удалите его из вопроса и отметьте этот комментарий как ненужный.   -  person Petter Friberg    schedule 27.10.2020


Ответы (2)


Если вы используете Gradle 6.x, конфигурация compile устарела. Его использование не рекомендуется начиная с Gradle 3.4. Вместо этого вы должны использовать implementation. Это изменение также сделает эту зависимость более согласованной с другими в вашем скрипте сборки. Подробнее об этом можно узнать в документации по Gradle.

Вы также указали версию зависимости spring-boot-starter-data-jpa. В этом нет необходимости, так как версия может определяться версией подключаемого модуля Spring Boot, который вы применили. Это то, что происходит с другими зависимостями в вашем скрипте, где версия не объявлена. Это упрощает синхронизацию всех версий.

Короче говоря, попробуйте обновить объявление зависимости, чтобы оно выглядело следующим образом:

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
person Andy Wilkinson    schedule 27.10.2020
comment
Это то, что у меня было изначально, прежде чем я посмотрел mvnrepository.com/artifact/org.springframework.boot/ К сожалению, это все еще не работает. - person David Kostandin; 27.10.2020

РЕШЕНО: проблема была в наборе инструментов Spring, использование Project->Clean не обновляло зависимости Gradle. Пришлось щелкнуть правой кнопкой мыши build.gradle->gradle->обновить проект gradle, чтобы все обновить.

person David Kostandin    schedule 28.10.2020