1. 背景介绍:

    ​ 在编译netty-transport-native-epoll-4.1.25.Final-linux-aarch_64.jar的时候,论坛上看到很多指导,步骤都不太一样。验证了几个指导,都没法成功编译。

  2. 依赖:

    在编译netty-transport-native-epoll-4.1.25.Final之前,必须编译netty-tcnative-2.0.8.Final。

    注:不同的netty-transport-native-epoll版本,对应不同的netty-tcnative版本。如果不清晰依赖的版本,可以先编译netty-transport-native-epoll,报错提示将会把版本信息打印出来。

  3. 编译netty-tcnative-2.0.8.Final

    1. 安装依赖

      yum install java-1.8.0* git gcc gcc-c++ make cmake3 libtool autoconf automake openssl-devel ninja-build golang apr-devel -y
      
    2. CMake 3和ninja-build设置软连接

      ln -s /usr/bin/cmake3 /usr/bin/cmake
      ln -s /usr/bin/ninja-build /usr/bin/ninja
      

      如果yum源里边没有cmake3和ninja-build,可以源码编译安装。

    3. 编译netty需要使用maven

      #下载
      wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
      #解压
      tar zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
      
      #配置环境变量
      export PATH=/usr/local/apache-maven-3.5.4/bin:$PATH
      
    4. 编译安装

      #下载
      wget https://github.com/netty/netty-tcnative/archive/netty-tcnative-parent-2.0.8.Final.tar.gz
      #进入目录
      cd netty-tcnative-netty-tcnative-parent-2.0.8.Final/
      

      修改pom.xml文件,屏蔽456行和474行代码

      image.png

      编译安装:

      mvn clean install
      
    5. 查看

      安装完成之后,将在maven本地仓库里边查看的。

      image.png

  1. 编译netty-transport-native-epoll

    1. 下载编译

      wget https://github.com/netty/netty/archive/netty-4.1.25.Final.zip
      unzip netty-4.1.25.Final.zip
      cd netty-netty-4.1.25.Final
      
      #编译,整个过程将拉取依赖jar包,比较慢
      ./mvnw clean install -pl transport-native-unix-common -DskipTests=true
      ./mvnw clean install -pl transport-native-epoll -DskipTests=true
      
    2. 查看编译结果

      image.png

Logo

更多推荐