鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

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

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

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

  1. 下载spring-cloud-gateway-2.2.1.RELEASE源码。
    1
    2
    3
    cd /home
    git config --global http.sslVerify false
    git clone https://github.com/spring-cloud/spring-cloud-gateway.git
    
  2. 切换到指定版本。
    1
    2
    cd spring-cloud-gateway
    git checkout v2.2.1.RELEASE
    
  3. 将编译过程中拉取的embedded-redis-0.6.jar包替换成ARM版本的。
    • 由于拉取的embedded-redis-0.6.jar包只支持x86架构,会导致编译过程报错,需将ARM版本的embedded-redis-0.6.jar包替换到本地Maven仓库中。
    • Arm版本的embedded-redis-0.6.jar包可以通过华为鲲鹏镜像站直接下载获取,也可参考《embedded-redis 移植指南》自行编译得到,本文使用直接从镜像站下载的方法。
    1. 创建库目录“~/.m2/repository/com/github/kstyrc/embedded-redis/0.6/”
      1
      mkdir -p ~/.m2/repository/com/github/kstyrc/embedded-redis/0.6/
      
    2. 获取embedded-redis-0.6.jar包。
      1
      wget https://mirrors.huaweicloud.com/kunpeng/maven/com/github/kstyrc/embedded-redis/0.6/embedded-redis-0.6.jar --no-check-certificate
      
    3. 将下载的Jar包复制到库目录下。
      1
      cp embedded-redis-0.6.jar ~/.m2/repository/com/github/kstyrc/embedded-redis/0.6/embedded-redis-0.6.jar
      
  4. 执行编译。
    1
    ./mvnw clean install -Dgpg.skip=true
    

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

    • 如果编译报错“Some problems were encountered while processing the POMs”,则执行下面命令编译。
      mvn clean install -Dgpg.skip=true
    • 如果编译因checkstyle报错,参考编译Spring Boot时提示Failed during checkstyle execution的解决方法
    • 若编译出现"Spring Cloud Gateway Core .......................... FAILURE",并且出现“No content,404 NOT_FOUND Not Found”,是由于代理问题,需多执行几遍。
    • 如果编译时遇到RetryGatewayFilterFactoryIntegrationTests报错,此问题与编译环境网络状况有关,请参考spring-cloud-gateway异常问题的解决方法解决。

      若按照spring-cloud-gateway异常问题的解决方法操作后还是编译不通过,可能是由于老旧机械盘读写能力较弱,导致处理业务的时延较高,建议用户使用性能较优的磁盘进行业务验证,例如SSD盘。