Невозможно добавить зависимость Spring-data в Spring boot

#java #spring #gradle #spring-data #spring-boot

#java #spring #gradle #spring-data #spring-boot

Вопрос:

Я пытаюсь начать с руководства по загрузке Spring и вручную включить зависимость Spring-data.

Моя среда разработки — eclipse, и я предпочитаю использовать Gradle для создания проекта.

Оба build.gradle и pom.xml были изменены, но eclipse по-прежнему не может найти библиотеки Spring-data (например, org.springframework.data.* ) во время компиляции.

Ниже приведены мои build.gradle и pom.xml .

Может кто-нибудь подсказать, где я ошибаюсь? Спасибо!!

Build.gradle

 buildscript {
    repositories {
            maven { url "http://repo.spring.io/libs-release" }
            mavenLocal()
            mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.1.RELEASE")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'war'

war {
    baseName = 'Xiwami'
    version =  '0.1.0'
}

jar {
    baseName = 'Xiwami'
    version =  '0.1.0'
}

repositories {
    mavenLocal()
    mavenCentral()
    maven { url "http://repo.spring.io/libs-release" }
maven { url "http://m2.neo4j.org" }
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    // spring data : mongodb
    compile("org.springframework.data:spring-data-mongodb")
    // tag::actuator[]
    compile("org.springframework.boot:spring-boot-starter-actuator")
    // end::actuator[]
    testCompile("junit:junit")
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.11'
}
 

pom.xml

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0     http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.adarp</groupId>
    <artifactId>Xiwami</artifactId>
    <version>0.1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.1.1.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- tag::actuator[] -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- end::actuator[] -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
        </dependency>
    </dependencies>

    <properties>
        <start-class>hello.Application</start-class>
    </properties>

    <build>
        <plugins>
            <plugin> 
                <artifactId>maven-compiler-plugin</artifactId> 
                <version>2.3.2</version> 
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
 

Ответ №1:

Нет необходимости вручную добавлять зависимости spring data. Spring Boot также предоставляет для этого средство. Просто добавьте

 compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("org.springframework.boot:spring-boot-starter-data-mongodb")
 

Для build.gradle

или

 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
 

для pom.xml поддержки Spring Data JPA и MongoDB.

Начальная версия содержит все транзитивные зависимости, необходимые для работы с Spring Data JPA или Mongo.

Ознакомьтесь с этим и этим руководством.

Как упоминалось в комментариях, после изменения зависимостей не забудьте обновить проект в IDE

Комментарии:

1. Большое вам спасибо! После обновления build.gradle мы должны обновить проект, щелкнув правой кнопкой мыши проект в package explore -> выберите «Gradle» -> выберите «обновить», чтобы очистить проект в eclipse.

2. @user3556304 спасибо! Gradle -> обновить — это ключ, которого недостаточно для сборки.