前言: 1.项目使用超级账本hyperledger fabric 作为底层区块链,使用java-sdk-java来连接区块链的智能合约。为了适配arm架构自己编译sdk依赖的netty包后运行成功。 2.fabric-sdk-java用了SSL的话,netty就会用到netty-tcnative库,而这个库内置了一个二进制库:libnetty-tcnative,官方发布的版本这个库只有三个版本: Linux-X86, Windows-X86, MacOSX-X86
解决:
项目引入依赖
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>2.0.34.Final</version>
</dependency>
编译环境安装和源码准备
apt-get install -y maven libapr1 libapr1-dev autoconf automake libtool cmake ninja-build golang openssl1.0 libssl1.0-dev
wget https://github.com/netty/netty-tcnative/archive/netty-tcnative-parent-2.0.34.Final.tar.gz
tar -xvf netty-tcnative-parent-2.0.34.Final.tar.gz
cd netty-tcnative-netty-tcnative-parent-2.0.34.