nacos的使用我遇到的问题就是版本没对应导致出现的奇奇怪怪的问题。后来使用了版本管理,使用了官方推介毕业版本依赖关系,才可以正常使用。
这边记录下从头搭建到结束
环境:配置好maven路径的idea nacos
为了便于看清文件的新建的路径先上一个项目的结构图
搭建过程
1、新建一个maven项目用于版本管理
2、修改pom文件,在其中进行spring和springboot以及alibaba的版本对应
参考x版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub
本次使用的是
2.2.6.RELEASE | Spring Cloud Hoxton.SR9 | 2.3.2.RELEASE |
<?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.mytest</groupId>
<artifactId>alibaba-test</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 打包方式为pom包-->
<packaging>pom</packaging>
<!-- 对应版本 https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<spring-cloud.version>Hoxton.SR9</spring-cloud.version>
<springboot.version>2.3.2.RELEASE</springboot.version>
<springcloudalibaba.version>2.2.6.RELEASE</springcloudalibaba.version>
</properties>
<!--版本管理-->
<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${springcloudalibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3、开始新建微服务,并整合nacos,在项目上右键新建module-maven,直接next
修改pom依赖
<?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">
<parent>
<artifactId>alibaba-test</artifactId>
<groupId>com.mytest</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>nacos-discovery</artifactId>
<!--需要加入的依赖 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 服务被发现依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
</project>
在resources目录下新建bootstrap.yml文件
spring-application-name为需要注册到nacos的服务名
server-addr为nacos的地址
spring:
cloud:
nacos:
discovery:
server-addr: localhost:8848
application:
name: nacos-order
server:
port: 8085
编写启动类和测试接口,
package com.mytest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class NacosDiscoveryApplication {
public static void main(String[] args) {
SpringApplication.run(NacosDiscoveryApplication.class, args);
}
}
package com.mytest.controllers;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/api")
@RestController
public class TestControl {
@RequestMapping("test1")
public Object getTest(){
return "测试nacos";
}
}
nacos单机启动配置
window版本的话修改bin目录下的startup.cmd中的set mode = cluster为
set MODE="standalone" 双击启动即可
linux下进入bin目录后 使用sh startup.sh -m standalone启动
启动NacosDiscoveryApplication 后访问测试接口看项目是否成功启动
启动后访问nacos的登录页面如 http://localhost:8848/nacos/index.html默认账号密码都为nacos
至此nacos作为服务注册中心就完成了。网上找了很多视频但是都没提到版本管理这一块,然后乱改版本遇到了一堆问题。希望这个能对刚学搭建nacos的有所帮助