#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 -> обновить — это ключ, которого недостаточно для сборки.