---
title: netty-all-4.0.52.Final
description: "1. 下载APR源码。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/tpdl/kunpengnettyall4117_02_0013.html
sourcePath: /source/zh/kunpengbds/ecosystemEnable/tpdl/kunpengnettyall4117_02_0013.html
indexId: 6c96886eec8a0bd9276da312c13faa4a72e4ce874eb8df6795604b4a32b9233875
---
# netty-all-4.0.52.Final

#### 安装APR

1. 下载APR源码。
  1 wget https://archive.apache.org/dist/apr/apr-1.5.2.tar.gz

2. 解压APR源码。
  1 tar -xvzf apr-1.5.2.tar.gz

3. 进入APR源码解压后的目录。
  1 cd apr-1.5.2

4. 将APR指定安装到“/usr/local/apr”目录。
  1 2 ./configure --prefix=/usr/local/apr make && make install


#### 编译安装netty-tcnative-parent-2.0.6.Final

1. 下载netty-tcnative-parent-2.0.6.Final源码。
  1 2 wget https://codeload.github.com/netty/netty-tcnative/tar.gz/netty-tcnative-parent-2.0.6.Final mv netty-tcnative-parent-2.0.6.Final netty-tcnative-parent-2.0.6.Final.tar.gz

2. 解压源码包。
  1 tar -zxvf netty-tcnative-parent-2.0.6.Final.tar.gz

3. 进入Netty解压目录。
  1 cd netty-tcnative-netty-tcnative-parent-2.0.6.Final

4. 修改“pom.xml”文件，屏蔽BoringSSL的编译。

  a. 打开文件。
    1 vi pom.xml

  b. 按“i”进入编辑模式，如下图注释<module>boringssl-static</module>内容。
  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
5. 修改apr引用路径为安装目录。

  a. 打开pom.xml文件。
    1 vi /opt/tools/netty-tcnative-netty-tcnative-parent-2.0.6.Final/openssl-dynamic/pom.xml

  b. 按“i”进入编辑模式，如下图所示将<configureArg>标签内容修改为<configureArg>--with-apr=/usr/local/apr</configureArg>。
  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
6. 编译打包到Maven本地仓库。
  1 mvn install

7. 修改“pom.xml”文件。

  a. 打开文件。
    1 vi pom.xml

  b. 按“i”进入编辑模式，注释掉该文件中两处下载apr-1.6.2的部分。
    第一处：

    第二处：

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
8. 下载apr-1.6.2，放置于以下位置。
  1 2 wget https://archive.apache.org/dist/apr/apr-1.6.2.tar.gz mv apr-1.6.2.tar.gz netty-tcnative-netty-tcnative-parent-2.0.6.Final/openssl-static/target

9. 继续编译打包到Maven本地仓库。
  1 mvn install

10. 修改“openssl-static/pom.xml”文件。

  a. 打开文件。
    1 vi openssl-static/pom.xml

  b. 按“i”进入编辑模式，注释掉该文件中三处下载openssl-1.0.2l的部分。
    第一处：

    第二处：

    第三处：

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
11. 下载openssl-1.0.2l.tar.gz，放置于以下位置。
  1 2 wget https://ftp.openssl.org/source/old/1.0.2/openssl-1.0.2l.tar.gz mv openssl-1.0.2l.tar.gz netty-tcnative-netty-tcnative-parent-2.0.6.Final/openssl-static/target

12. 继续编译打包到Maven本地仓库。
  1 mvn install

13. 将8中下载的apr-1.6.2拷贝至“netty-tcnative-netty-tcnative-parent-2.0.6.Final/libressl-static/target”目录。
  1 cp apr-1.6.2.tar.gz netty-tcnative-netty-tcnative-parent-2.0.6.Final/libressl-static/target

14. 继续编译打包到Maven本地仓库。
  1 mvn install

15. 修改“libressl-static/pom.xml”文件。

  a. 打开文件。
    1 vi libressl-static/pom.xml

  b. 按“i”进入编辑模式，注释掉该文件中两处下载libressl-2.5.5的部分。
    第一处：

    第二处：

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
16. 下载libressl-2.5.5，放置于以下位置。
  1 2 wget http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.5.5.tar.gz mv libressl-2.5.5.tar.gz netty-tcnative-netty-tcnative-parent-2.0.6.Final/libressl-static/target

17. 继续编译打包到Maven本地仓库。
  1 mvn install


#### 编译安装netty-4.0.52源码

1. 下载netty-4.0.52源码。
  1 wget https://github.com/netty/netty/archive/netty-4.0.52.Final.tar.gz

2. 解压源码包。
  1 tar -zxvf netty-4.0.52.Final.tar.gz

3. 进入Netty解压目录。
  1 cd netty-netty-4.0.52.Final

4. 修改“netty-netty-4.0.52.Final/pom.xml”文件。

  a. 打开文件。
    1 vi netty-netty-4.0.52.Final/pom.xml

  b. 按“i”进入编辑模式，注释以下代码。
  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
5. 编译生成JAR包，netty-all-4.0.52.Final.jar在“all/target”目录，netty-transport-native-epoll-4.0.52.Final.jar、netty-transport-native-epoll-4.0.52.Final-linux-aarch64_64.jar在“transport-native-epoll/target”目录。
  1 mvn package -DskipTests
