编译embedded-redis源码

- 鲲鹏镜像站中提供的二进制包是基于开源代码直接编译打包而成的,不含漏洞及BUG修复。
- 使用开源软件时需遵守开源软件的许可协议。
- 获取源码。
- 在本地浏览器下载源码。
- 将源码包上传到服务器“/home”目录下。
若服务器可以访问网络,则通过wget命令直接下载源码。
- 解压源码包后进入源码目录。
- 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/
- embedded-redis-0.6:
- 修改源码以适配AArch64架构。
- 增加架构类型
- 打开Architecture.java文件。
1
vim src/main/java/redis/embedded/util/Architecture.java
- 按“i”进入编辑模式,在第5行末尾添加“,”逗号。
- 第6行添加代码后,保存并退出文件。
aarch64
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开Architecture.java文件。
- 增加OS定义
- 打开OsArchitecture.java文件。
1
vim src/main/java/redis/embedded/util/OsArchitecture.java
- 按“i”进入编辑模式,第12行添加如下代码。
public static final OsArchitecture UNIX_aarch64 = new OsArchitecture(OS.UNIX, Architecture.aarch64);
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开OsArchitecture.java文件。
- 添加架构定义
- 打开RedisExecProvider.java文件。
1
vim src/main/java/redis/embedded/RedisExecProvider.java
- 按“i”进入编辑模式,第32行添加如下代码。
executables.put(OsArchitecture.UNIX_aarch64, "redis-server-2.8.19-aarch64");
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开RedisExecProvider.java文件。
- 添加架构判断
- 打开OSDetector.java文件。
1
vim src/main/java/redis/embedded/util/OSDetector.java
- 按“i”进入编辑模式,修改第57行。
if (line.contains("x86_64"))
- 第60行-第62行添加如下代码。
else if (line.contains("aarch64")) { return Architecture.aarch64; }
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开OSDetector.java文件。
- 增加架构类型
- 从“/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/
- 配置Cntlm。
若机器需配置代理才可访问外网,则需要配置Cntlm,参考配置Cntlm。
- 编译安装。
1
mvn install
若编译完成后结果显示“BUILD SUCCESS”,则表示编译成功。
- 查看生成的JAR包。
1
ls target/
父主题: 编译安装