如何将 Nacos 嵌入到开发项目中?

1. 启动Naocs

1. 下载源码

https://github.com/alibaba/nacos/releases/tag/2.0.3

2. 将项目导入IDEA中,配置指定资源为Nexus的settings-nexus.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <!-- 配置本地jar包存放路径 -->
    <localRepository>D:/repository</localRepository>
    <pluginGroups></pluginGroups>
    <proxies></proxies>
    <servers>
        <!-- 配置从nexus私服下载jar包所需要的账号密码 -->
        <server>
            <id>nexus</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
        <!-- 配置往nexus私服上传jar包所需要的账号密码 -->
        <server>
            <!--注意这个id  需要和pom.xml的对应-->
            <id>maven-releases</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
        <!-- 配置往nexus私服上传jar包所需要的账号密码 -->
        <server>
            <!--注意这个id  需要和pom.xml的对应-->
            <id>maven-snapshots</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
    </servers>
    <!-- 配置镜像代理 -->
    <mirrors>
        <mirror>
            <id>nexus</id>
            <mirrorOf>*</mirrorOf><!-- 配置为*的意思是将所有请求都转发到镜像仓库上 -->
            <url>http://172.16.150.132:8084/repository/maven-public/</url>
        </mirror>
        <!--这2个备用 以免在外网环境连不上私服-->
        <!--    <mirror>-->
        <!--        <id>alimaven</id>-->
        <!--        <mirrorOf>central</mirrorOf>-->
        <!--        <url>https://maven.aliyun.com/repository/public/</url>-->
        <!--    </mirror>-->
        <!--    <mirror>-->
        <!--        <id>alimaven_central</id>-->
        <!--        <mirrorOf>central</mirrorOf>-->
        <!--        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>-->
        <!--    </mirror>-->
    </mirrors>
    <profiles>
        <profile>
            <id>nexus</id>
            <!--Override the repository (and pluginRepository) "central" from the Maven Super POM
                to activate snapshots for both! -->
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
        <profile>
            <id>jdk1.8</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
            </activation>
            <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>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
            </properties>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
        <activeProfile>jdk1.8</activeProfile>
    </activeProfiles>
</settings>

3. 导入数据库表结构

执行 distribution\conf\nacos-mysql.sql

4. 修改支持MySQL连接,需要对应上自己的数据库IP、账号及密码

5. 启动控制台,发现java: 程序包com.alibaba.nacos.consistency.entity不存在

6. 找到项目目录执行以下命令,对nacos进行编译

mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

打包成功

7. 再次启动,启动成功

访问 http://172.16.150.38:8848/nacos/index.html, 登录nacos,初始账户密码: nacos/nacos

2. 将Nacos嵌入到开发项目中

1. 对项目Pom文件进行改造,将原来的注释掉,更改为私服上传地址

<!-- 配置私服上传jar包地址 -->
<distributionManagement>
    <repository>
        <!-- release包上传地址 -->
        <id>maven-releases</id>
        <url>http://172.16.150.132:8084/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <!-- snapshots包上传地址 -->
        <id>maven-snapshots</id>
        <url>http://172.16.150.132:8084/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

2. 执行deploy命令,将项目打包上传到nexus

查看nexus的maven-releases下是否有文件上传(没有文件生成请检查setting.xml 及 pom 文件配置)

3. 将consle复制出来,为嵌入其他项目做准备

4. 导入consle项目,配置指定资源为Nexus的settings-nexus.xml文件

5. 将version改为nacos项目pom中的版本

<parent>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-all</artifactId>
    <version>2.0.3</version>
</parent>

6. 启动项目

查看是否启动成功