编译spring-cloud-config-2.2.1.RELEASE源码

鲲鹏镜像站中提供的二进制包是基于开源代码直接编译打包而成的,不含漏洞及BUG修复。

使用开源软件时需遵守开源软件的许可协议。

  1. 此项目需要使用非root用户编译。若未创建过非root用户,需要先添加新用户。

    1. 添加非root用户。
      1
      useradd springcloudtester
      
    2. 修改用户密码。
      passwd springcloudtester
    3. 切换到用户根目录下。

      用户根目录一般在“/home”目录下,如1.a中添加的springcloudtester用户根目录为“/home/springcloudtester”

      1
      cd /home/springcloudtester
      

  2. 获取源码。

    在创建的非root用户的根目录下,下载spring-cloud-config-2.2.1.RELEASE源码。

    git config --global http.sslVerify false
    git clone https://github.com/spring-cloud/spring-cloud-config.git

  3. 更改源码目录的拥有者。

    改变“spring-cloud-config”目录的拥有者为创建的非root用户,并进入该目录。
    1
    2
    chown -R springcloudtester:springcloudtester spring-cloud-config
    cd spring-cloud-config
    

  4. 切换到指定版本。

    1
    git checkout v2.2.1.RELEASE
    

  5. 切换到非root用户。

    1
    su springcloudtester
    

  6. 将编译过程拉取的embedded-redis-0.7.2.jar包替换成ARM版本。

    • 由于拉取的embedded-redis-0.7.2.jar包只支持x86架构,会导致编译过程报错,因此需将ARM版本的embedded-redis-0.7.2.jar包替换到本地Maven仓库中。
    • Arm版本的embedded-redis-0.7.2.jar包可以通过华为鲲鹏镜像站直接下载获取,也可参考《embedded-redis 移植指南》自行编译得到,本文使用直接从镜像站下载的方法。
    1. 创建库目录“~/.m2/repository/it/ozimov/embedded-redis/0.7.2/”
      1
      mkdir -p ~/.m2/repository/it/ozimov/embedded-redis/0.7.2/
      
    2. 获取JAR包。
      1
      wget https://mirrors.huaweicloud.com/kunpeng/maven/it/ozimov/embedded-redis/0.7.2/embedded-redis-0.7.2.jar  --no-check-certificate
      
    3. 将embedded-redis-0.7.2.jar包复制到创建的库目录下。
      1
      cp embedded-redis-0.7.2.jar ~/.m2/repository/it/ozimov/embedded-redis/0.7.2/
      

  7. 执行编译。

    1
    ./mvnw clean install -Dgpg.skip=true
    

    若显示BUILD SUCCESS,则编译通过。

    如果编译过程中遇到报错,请先使用su -命令先切换到root用户,切换目录cd /home/springcloudtester/spring-cloud-config,参考以下解决方法处理报错,最后使用su springcloudtester命令切换为非root用户再次进行编译。

  8. 切换回root用户

    su -