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

编译embedded-redis源码

  • 鲲鹏镜像站中提供的二进制包是基于开源代码直接编译打包而成的,不含漏洞及BUG修复。
  • 使用开源软件时需遵守开源软件的许可协议。
  1. 获取源码。
    1. 在本地浏览器下载源码。
    2. 将源码包上传到服务器“/home”目录下。

      若服务器可以访问网络,则通过wget命令直接下载源码。

  2. 解压源码包后进入源码目录。
    • embedded-redis-0.6:
      1
      2
      unzip embedded-redis-0.6.zip
      cd embedded-redis-embedded-redis-0.6/
      
    • embedded-redis-0.7.2:
      mv 0.7.2.tar.gz embedded-redis-0.7.2.tar.gz
      tar -zxvf embedded-redis-0.7.2.tar.gz
      cd embedded-redis-0.7.2/
  3. 修改源码以适配AArch64架构。
    • 增加架构类型
      1. 打开Architecture.java文件。
        1
        vim src/main/java/redis/embedded/util/Architecture.java
        
      2. “i”进入编辑模式,在第5行末尾添加“,”逗号。
      3. 第6行添加代码后,保存并退出文件。
        aarch64

      4. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    • 增加OS定义
      1. 打开OsArchitecture.java文件。
        1
        vim src/main/java/redis/embedded/util/OsArchitecture.java
        
      2. “i”进入编辑模式,第12行添加如下代码。
        public static final OsArchitecture UNIX_aarch64 = new OsArchitecture(OS.UNIX, Architecture.aarch64);

      3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    • 添加架构定义
      1. 打开RedisExecProvider.java文件。
        1
        vim src/main/java/redis/embedded/RedisExecProvider.java
        
      2. “i”进入编辑模式,第32行添加如下代码。
        executables.put(OsArchitecture.UNIX_aarch64, "redis-server-2.8.19-aarch64");

      3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    • 添加架构判断
      1. 打开OSDetector.java文件。
        1
        vim src/main/java/redis/embedded/util/OSDetector.java
        
      2. “i”进入编辑模式,修改第57行。
        if (line.contains("x86_64"))
      3. 第60行-第62行添加如下代码。
        else if (line.contains("aarch64")) {  
                    return Architecture.aarch64;
         }

      4. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. “/home/redis-2.8.19/src/redis-server”目录复制编译redis-server-2.8.19源码编译好的可执行文件到“src/main/resources/redis-server-2.8.19-aarch64”目录。
    1
    2
    3
    ls src/main/resources/
    \cp /home/redis-2.8.19/src/redis-server src/main/resources/redis-server-2.8.19-aarch64
    ls src/main/resources/
    

  5. 配置Cntlm。

    若机器需配置代理才可访问外网,则需要配置Cntlm,参考配置Cntlm

  6. 编译安装。
    1
    mvn install
    

    若编译完成后结果显示“BUILD SUCCESS”,则表示编译成功。

    若执行编译报错“Can't start redis server”,请参考编译embedded-redis时提示Can't start redis server的解决方法解决。

  7. 查看生成的JAR包。
    1
    ls target/