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
}
아무 일도 일어나지 않는다면, 당신은 몇 가지 제안을 따라야 합니다.
- 스크립트를 다운그레이드합니다.Were 나쁜 생각
- Java를 다운그레이드합니다.여전히 좋지 않은 생각입니다. 저는 17을 사용하고 있는데, 지금 이 순간의 새로운 자바 버전은 19입니다.
- 코드의 버전을 확인합니다.내가 이것을 만들 때, 예제의 아래 버전과 내 작업 코드, 그것을 사용하지 않은 라인이 있습니다. 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
'programing' 카테고리의 다른 글
SQL Server 쿼리에서 주말을 제외하려면 어떻게 해야 합니까? (0) | 2023.06.23 |
---|---|
Vue, fetch에서 빈 배열을 반환합니다. (0) | 2023.06.23 |
ID가 아닌 필드로 mongoose 모델 채우기 (0) | 2023.06.23 |
제품 변형 가격 보기 테이블 쿼리 (0) | 2023.06.23 |
동적 SQL을 실행하는 Oracle PL/SQL 익명 블록에서 결과 집합/커서를 반환하는 방법은 무엇입니까? (0) | 2023.06.23 |