springcloud首个项目遇到的坑

项目用springcloud + springboot +nacos
用到nacos的服务注册中心和配置中心

首先是版本问题:

springcloud&springboot版本

官方版本关系
总结个大版本图

Release TrainBoot Version
Greenwich2.1.x
Finchley2.0.x
Edgware1.5.x
Dalston1.5.x

我的项目一开始用springboot1.5.10-RELEASE,经过各种尝试,服务无法注册,配置无法加载。
痛定思痛,将项目升级到2.0.7-RELEASE,cloud版本选择Finchley.SR2,这才读取配置成功。

nacos版本

引入以下包

<spring-cloud.version>Finchley.SR2</spring-cloud.version>
<spring-cloud-alibaba.version>0.9.0.RELEASE</spring-cloud-alibaba.version>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>${spring-cloud.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
<!--Spring cloud alibaba-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>${spring-cloud-alibaba.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
//子包里继承
<dependency>
    <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
 </dependency>
 <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
 </dependency>

最好引用spring-cloud-alibaba,0.9.0最新版,如果是低版本(网上有很多0.2.1-RELEASE版),需要引入,否则你会陷入无法注册服务的痛苦中。。

<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>1.0.0</version>
</dependency>

多环境配置

nacos支持多环境配置,但springcloud对这块支持的不是太好,我的做法的是将配置文件都写入nacos配置,bootstrap.yml只写环境配置:

server:
  port: 8085
spring:
  application:
    name: demo-service
  profiles:
    active: @spring.profiles.active@


---
spring:
  profiles: local
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yml
        namespace: 31a601a0-84d9-411f-8df0-8e1afd0f4277

---
spring:
  profiles: dev
  cloud:
    nacos:
      config:
        server-addr: demo-reg:8848
        file-extension: yml
        namespace: bc94b90f-5524-43ea-ba0a-e8a1135a5a30

---
spring:
  profiles: test
  cloud:
    nacos:
      config:
        server-addr: demo-reg:8848
        file-extension: yml
        namespace: dcfb4da5-4b07-49a9-bfdd-5e60537148c5

pom中定义spring.profiles.active,打包即可

启动方式如:

nohup java -jar demo-service.jar  --spring.profiles.active=dev  >demo.log 2>&1 &
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值