1.编译安装netty-tcnative-parent-2.0.7.Final。
    下载netty-tcnative-parent-2.0.7.Final源码。
    wget https://codeload.github.com/netty/netty-tcnative/tar.gz/netty-tcnative-parent-2.0.7.Final
    mv netty-tcnative-parent-2.0.7.Final netty-tcnative-parent-2.0.7.Final.tar.gz
    解压源码包。
    tar -zxvf netty-tcnative-parent-2.0.7.Final.tar.gz
    进入解压后目录。
    cd netty-tcnative-netty-tcnative-parent-2.0.7.Final
    修改pom.xml,屏蔽boringssl的编译。
    image.jpeg
    编译打包到maven本地仓库。
    mvn install
    image.jpeg
    修改“pom.xml”,注释掉该文件中两处下载apr-1.6.3的部分。
    image.jpeg
    image.jpeg
    下载apr-1.6.3,放置于以下位置。
    wget https://archive.apache.org/dist/apr/apr-1.6.3.tar.gz
    mv apr-1.6.3.tar.gz netty-tcnative-netty-tcnative-parent-2.0.7.Final/openssl-static/target
    继续编译打包到maven本地仓库。
    mvn install
    image.jpeg
    修改“openssl-static/pom.xml”,注释掉该文件中3处下载openssl-1.0.2l的部分。
    image.jpeg
    image.jpeg
    image.jpeg
    下载openssl-1.0.2l,放置于以下位置。
    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.7.Final/openssl-static/target
    继续编译打包到maven本地仓库。
    mvn install
    image.jpeg
    1.g中下载的apr-1.6.3,放置于以下位置。
    cp apr-1.6.3.tar.gz netty-tcnative-netty-tcnative-parent-2.0.7.Final/libressl-static/target
    继续编译打包到maven本地仓库。
    mvn install
    image.jpeg
    修改“libressl-static/pom.xml”,注释掉该文件中1处下载libressl-2.5.5的部分。
    image.jpeg
    下载libressl-2.5.5,放置于以下位置。
    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.7.Final/libressl-static/target
    继续编译打包到maven本地仓库。
    mvn install
    2.编译安装netty-4.1.17源码。
    下载netty-4.1.17源码。
    wget https://github.com/netty/netty/archive/netty-4.1.17.Final.tar.gz
    解压源码包。
    tar -zxvf netty-4.1.17.Final.tar.gz
    进入解压后目录。
    cd netty-netty-4.1.17.Final
    修改“pom.xml”,注释以下代码。
    image.jpeg
    编译生成jar包,netty-all-4.1.17.Final.jar在all/target目录,netty-transport-native-epoll-4.1.17.Final.jar、netty-transport-native-epoll-4.1.17.Final-linux-aarch64_64.jar在transport-native-epoll/target目录。
    mvn package -DskipTests
    问题1
    可能会出现找不到jni.h和jni_md.h的报错
    image.jpeg
    修改${netty-netty-4.1.17.Final}/transport-native-unix-common/pom.xml
    关键字CFLAGS,加入-I/usr/lib/jvm/java/include –I/usr/lib/jvm/java/linux/include。
    image.jpeg
    问题2
    编译过程中找不到linux-aarch_64-fedora.2.0.7.Final.jar的报错。
    image.jpeg
    修改pom.xml文件,删除fedora,重新执行命令编译。
    image.jpeg