Не удается разрешить символ для EnableEurekaServer в intelliJ. Да, у меня зависимость / недействительна + перезапущена моя IDE)

Я новичок в Java, поэтому заранее извиняюсь, если не понимаю некоторых слов.

У меня все еще возникает ошибка: не удается разрешить символ @EnableEurekaServer ... Когда я вручную ввожу строку импорта для сервера eureka, слово «облако» выделяется красным цветом:

import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

В моем файле build.gradle у меня есть

compile('org.springframework.cloud:spring-cloud-netflix-eureka-server')

Почему так ... Все вроде как должно работать. Я могу предоставить скриншоты вещей, если меня попросят!

Мой файл build.gradle выглядит так:

buildscript {
    ext {
        springBootVersion = '2.0.0.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile('org.springframework.cloud:spring-cloud-netflix-eureka-server')
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

Мой EurekaApplicationServer.java выглядит так:

package com.example.eurekaserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
public class EurekaApplicationServer {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplicationServer.class, args);
    }

}

картина с ошибкой

Поделитесь пожалуйста Минимальный, полный и проверяемый пример.

CrazyCoder 16.03.2018 20:58

Думаю, я добавил достаточно информации. Хотел бы немного помочь

Syn 16.03.2018 21:09

Изменение зависимости от compile('org.springframework.cloud:spring-cloud-netflix-eure‌​ka-server:1.0.0.RELE‌​ASE') решает проблему для меня.

CrazyCoder 16.03.2018 21:16

Хорошо ... Это сработало. Иисус Христос. Большое спасибо, чувак. Это тоже было очень простое решение. Но есть ли причина, по которой он это делает? Мне нравится понимать, почему что-то пошло не так.

Syn 16.03.2018 21:18
2
4
3 588
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Используйте зависимость с конкретной версией, текущая версия на момент написания:

compile('org.springframework.cloud:spring-cloud-netflix-eureka-server:1.4.3.RELEASE')

Вы можете найти последнюю доступную версию под номером здесь.

Для проектов Spring Boot, когда вы не указываете версию зависимости, используется специальный плагин управление зависимостями. По какой-то причине он не может предоставить версию для этой конкретной зависимости. Смотрите связанный вопрос.

Ах, я вижу, я вижу! спасибо за объяснение. Не могли бы вы проверить это изображение и посмотреть, сможете ли вы понять, почему я получаю эту ошибку: imgur.com/a/5Dafv

Syn 16.03.2018 22:20

Опускать версию eureka-server / client не нужно. Причина в том, что репозиторий maven не может разрешить последнюю версию сервера eureka. Чтобы решить эту проблему, добавьте репозиторий в свой файл pom / gradle.

repositories {
    maven {
        url 'https://repo.spring.io/libs-milestone'
    }
}

или же

<repositories>
    <repository>
       <id>spring-milestones</id>
       <name>Spring Milestones</name>
       <url>https://repo.spring.io/libs-milestone</url>
       <snapshots>
           <enabled>false</enabled>
       </snapshots>
   </repository>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-eureka-server</artifactId>
    <version>1.1.6.RELEASE</version>
</dependency>

У меня это сработало.

Другие вопросы по теме