netty4.0后,不再是jboss的一部分,包名从 org.jboss.netty
变更为 io.netty
jar包也被分割成了多个子模块,以便用户可以定制引入需要的子包。当前结构如下:
Artifact ID | Description |
---|---|
netty-parent |
Maven parent POM |
netty-common |
Utility classes and logging facade |
netty-buffer |
ByteBuf API that replaces java.nio.ByteBuffer |
netty-transport |
Channel API and core transports |
netty-transport-rxtx |
Rxtx transport |
netty-transport-sctp |
SCTP transport |
netty-transport-udt |
UDT transport |
netty-handler |
Useful ChannelHandler implementations |
netty-codec |
Codec framework that helps write an encoder and a decoder |
netty-codec-http |
Codecs related with HTTP, Web Sockets, SPDY, and RTSP |
netty-codec-socks |
Codecs related with SOCKS protocol |
netty-all |
All-in-one JAR that combines all artifacts above |
netty-tarball |
Tarball distribution |
netty-example |
Examples |
netty-testsuite-* |
A collection of integration tests |
netty-microbench |
Microbenchmarks |
注意:会有一个全包,netty-all
spring-data-elasticsearc3.1.14引用的是
netty4的部分子包,而我们的微服务框架引用的是netty-all4.0.3.Final包,这样就产生了冲突,你可能会想,排除
spring-data-elasticsearc的所有子包,但是spring-data-elasticsearc使用的netty的版本是4.1.13.Final,比较新的版本,有些方法,在
netty-all4.0.3.Final中没有,所以这种方案pass掉,那么可以这样,引用高版本的netty,排除掉子包(单个/所有皆可),一般高版本会兼容低版本的方法,统一使用netty-all4.1.13.Final版本的包,微服务和
spring-data-elasticsearc3.1.14都无问题。