programing

org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:unknown

megabox 2023. 6. 23. 21:52
반응형

org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:unknown

메이븐 종속성을 설치하려고 할 때 스프링 부트를 사용하여 eureka 서버/클라이언트를 학습하는 튜토리얼을 따르고 있습니다.pom.xml제목에 오류가 있습니다.

이것은 내 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.nlimits</groupId>
    <artifactId>movie_info_service</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>movie_info_service</name>
    <description>Movie Info Service</description>

    <properties>
        <java.version>11</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

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

</project>

어떻게 이 문제를 해결할 수 있으며 왜 이 문제가 발생합니까?

저도 튜토리얼을 따라가고 있습니다.

IntelliJ 2020.1에서 Spring Boot을 이용하여 기본 마이크로 서비스를 만들었습니다.

추가했습니다.spring-cloud-starter-netflix-eureka-client제 프로젝트의 시작점입니다.

다음은 에 추가된 내용입니다.pom.xml:

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

 <dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-dependencies</artifactId>
  <version>Hoxton.SR8</version>
  <type>pom</type>
  <scope>import</scope>
</dependency>

메이븐을 다시 로드한 후pom.xml파일, 종속성을 찾을 수 없다는 오류가 발생했습니다.

다음은 오류입니다.

org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:unknown

Spring Boot 2.3.5를 사용하고 있습니다.

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

솔루션:

spring initializr을 사용하여 spring-boot-starter를 추가할 때 eureka 탐색 클라이언트 버전이 pom에 자동으로 추가되지 않습니다.그래서 버전을 수동으로 추가했습니다.

<version>2.2.5.RELEASE</version>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  <version>2.2.5.RELEASE</version>
</dependency>

그런 다음 maven pom.xml을 새로 고친 후 종속성이 인식되었습니다.

다음 뒤에 이 코드를 추가하십시오.<dependencies/>섹션 및 앞<build/>섹션:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-parent</artifactId>
            <version>Greenwich.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Spring boot Starter 버전(2.3.3)과 Spring Cloud 버전(2.2.5)을 확인하면 빌드에 실패합니다. Spring Initializer를 사용하여 프로젝트에 사용할 pom/build 파일을 만들 것을 권장합니다.

저는 스프링 클라우드 버전을 속성에 추가하여 이 문제를 해결할 수 있었습니다.

<properties>
    <java.version>11</java.version>
    <spring-cloud.version>Hoxton.SR8</spring-cloud.version>
</properties>

pom.xml에서 스프링 부트 버전(및 스프링 클라우드 버전)을 변경합니다.

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

<properties>
    <java.version>11</java.version>
    <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
</properties>

jar 파일이 프로젝트 폴더의 "Maven Dependencies"에 다운로드되지만 POM 오류는 여전히 존재합니다.

솔루션:- C: 삭제:\Users<user>.m2 폴더를 선택한 다음 POM에서 maven을 다시 로드합니다.

eureka 탐색 클라이언트 버전을 수동으로 추가하면 문제를 해결하는 데 도움이 될 수 있습니다.제가 버전을 추가했더니 작동했습니다.

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <version>2.2.10.RELEASE</version>
</dependency>

아래의 예를 따릅니다.당신의 pom.xml에 당신이 가지고 있지 않은 것을 추가했습니다. 댓글을 무시하세요. 당신이 끝나면, 당신의 유형을 확인하세요. 이것은 대소문자를 구분합니다.서버를 사용하는 예입니다.관련 이슈에 대한 작업을 희망합니다.

    <properties>
<!-- using java 17 -->
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
<!--optional(?)-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
<!-- the main problem here(?)-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

정보:

file|프로젝트 구조 -> 프로젝트 -> SDK: SDK correto-17


프로세스 중에 코드 예제의 색상을 확인합니다.

//todo: it goes red.. must have different color 
@EnableEurekaServer

빨간색이어야 합니다.빨간색이 괜찮으시다면..이 줄 추가 안 함

//todo: added by importing
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

메이븐을 다시 로드해야 합니다(시간이 걸립니다.2분 소요됩니다. 필요한 번 더 다운로드해 보십시오.그런 다음 팝업이 표시될 때까지 빨간색 코드에 커서를 놓습니다.

기호 Blabla를 확인할 수 없습니다.

클래스 가져오기를 클릭합니다.당신이 가져야 할 결과.

package com.***.eurekaserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//todo: added by importing 
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
//todo added application and server
@SpringBootApplication
@EnableEurekaServer
//just example name
public class EurekaServerApplication {
//todo: make main
}

아무 일도 일어나지 않는다면, 당신은 몇 가지 제안을 따라야 합니다.

  1. 스크립트를 다운그레이드합니다.Were 나쁜 생각
  2. Java를 다운그레이드합니다.여전히 좋지 않은 생각입니다. 저는 17을 사용하고 있는데, 지금 이 순간의 새로운 자바 버전은 19입니다.
  3. 코드의 버전을 확인합니다.내가 이것을 만들 때, 예제의 아래 버전과 내 작업 코드, 그것을 사용하지 않은 라인이 있습니다. pom.xml(부모)에 언급된 버전은

<spring.cloud-version> 2020.0.3 </spring.cloud-version>

현재 버전이 작동하지 않는 경우.댓글 달아주세요.

공개자: Intellij Idea를 사용합니다.

출처: 유튜브

키워드 #microscovery #마이크로서비스 #amigoscode 포함

비교를 위해 참조용으로만 root 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.***code</groupId>
  <artifactId>***services</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>***services</name>
  <url>http://www.***services.com</url>

  <modules>
<!--something here not wanted to share-->
    <module>eureka-server</module>
  </modules>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <spring.boot.maven.plugin.version>2.5.7</spring.boot.maven.plugin.version>
    <spring.boot.dependency.version  >2.5.7</spring.boot.dependency.version>
    <spring.cloud-version>2020.0.3</spring.cloud-version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${spring.boot.dependency.version}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${spring.cloud-version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${spring.boot.maven.plugin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

종속성을 추가하려고 했습니다. 종속성 관리가 작동했습니다.

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

Spring Start에서는 프로젝트를 만들 때 저장소도 가져갑니다. 이들은 기본적인 요소입니다.

<repositories>
      // DATA
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      // DATA
    </pluginRepository>
    <pluginRepository>
      // DATA
    </pluginRepository>
  </pluginRepositories>

언급URL : https://stackoverflow.com/questions/63693570/cannot-resolve-org-springframework-cloudspring-cloud-starter-netflix-eureka-cli

반응형