昨晚偶遇小白大佬,说是要给我传授springcloud,
兴喜之余,写了这篇自己遇到的坑
第一次,我写了一个注册中心,都能够折磨我自己~
第一步:新建maven项目
这个已经是在idea直接新建的,所以没什么好说的坑!
第二步:pom.xml添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 注册中心 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
这里,我很想告诉各位小可爱,
原来springboot的版本会影响到这个注册中心是否运行成功!
第三步:新建EurekaRegistryDemo类
记得哦,是在src/main/java包下创建
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaRegistryDemo
{
public static void main( String[] args )
{
SpringApplication.run(EurekaRegistryDemo.class, args);
}
}
这里,小可爱记得导包,当时我就是忘了导包,各种错误,只能自己填补!
第四步:新建application.yml配置文件
记得哦,是在src/main/resources包下创建
server:
port: 8080 #当前应用端口
spring:
application:
name: eureka-registry #应用名称
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8080/eureka/ #Eureka Server地址
register-with-eureka:
false #因为自己是注册中心,所以不注册自己
fetch-registry:
false
instance:
metadataMap:
instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
第五步:运行EurekaRegistryDemo.java
启动服务注册中心,访问地址为:localhost:8080
宝贝们一定很惊讶,我为什么这么快就运行出来了,其实我也是踩着坑的!
宝贝小贴士:
(1)springboot版本要选好,不要选太高版本
宝宝错误实例:<version>2.0.4.RELEASE</version>
假如选到了高版本,就会报这样的错误,这时候的唯一办法就是降springboot版本
本宝宝降到了1.5.4,希望各位引以为戒!
(2)使用正确的注解
记得哦,是@EnableEurekaServer和@SpringBootApplication注解!
(3)解释下刚刚的成功截图
因为我们还没有服务注册呢,所以红框框呢里就是No instances available!