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的编译。
编译打包到maven本地仓库。
mvn install
修改“pom.xml”,注释掉该文件中两处下载apr-1.6.3的部分。
下载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
修改“openssl-static/pom.xml”,注释掉该文件中3处下载openssl-1.0.2l的部分。
下载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
将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
修改“libressl-static/pom.xml”,注释掉该文件中1处下载libressl-2.5.5的部分。
下载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”,注释以下代码。
编译生成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的报错
修改${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。
问题2
编译过程中找不到linux-aarch_64-fedora.2.0.7.Final.jar的报错。
修改pom.xml文件,删除fedora,重新执行命令编译。