编译过程中出现缺失libnetty_transport_native_epoll_aarch_64.so的异常,提示“Could not find artifact io.netty:netty-transport-native-epoll:jar:linux-aarch_64:4.1.43.Final...”。
Spring Cloud中的一些组件,如spring-cloud-gateway,spring-cloud-gcp,spring-cloud-contract等在编译过程中会拉取netty-transport-native-epoll-4.1.43.Final-linux-x86_64.jar包,主流的maven仓库目前都没有ARM 64架构版本的Jar包,因此可能会出现缺失libnetty_transport_native_epoll_aarch_64.so的异常。
将ARM64架构版本的netty-transport-native-epoll-4.1.43.Final-linux-aarch_64.jar包放入maven本地仓库。
mkdir -p /root/.m2/repository/io/netty/netty-transport-native-epoll/4.1.43.Final
也可参考《netty-transport-native-epoll-4.1.43.Final-linux-aarch_64.jar移植指南》自行编译获取Jar包。
wget https://mirrors.huaweicloud.com/kunpeng/maven/io/netty/netty-transport-native-epoll/4.1.43.Final/netty-transport-native-epoll-4.1.43.Final-linux-aarch_64.jar --no-check-certificate
\cp netty-transport-native-epoll-4.1.43.Final-linux-aarch_64.jar /root/.m2/repository/io/netty/netty-transport-native-epoll/4.1.43.Final
vim pom.xml
<dependency> <groupId>io.netty</groupId> <artifactId>netty-transport-native-epoll</artifactId> <version>4.1.43.Final</version> <classifier>linux-aarch_64</classifier> <scope>compile</scope> <exclusions> <exclusion> <artifactId>commons-logging</artifactId> <groupId>commons-logging</groupId> </exclusion> </exclusions> </dependency>