今天在折腾netty源码的时候发现死活找不到tcnative包,但看pom.xml里面是有那个依赖在的,具体可以查看handler,example等的pom文件。

之后在官网找到了答案:

Use the same-bit version with your OS

If you are on 64-bit operating system, use the 64-bit version of IntelliJ IDEA. For an instance, the start menu shortcut points to the 32-bit binary even if you are using 64-bit Windows. You’ll have to find the idea64.exe in the installation directory and use it instead. Otherwise, you’ll see IntelliJ IDEA complains that it cannot find io.netty:netty-tcnative:windows-x86_32.

它写得很清楚,如果使用IDEA必须使用跟操作系统系统一样位数的版本,否则会找不到x86_32位的版本。

实际上当我们找到pom.xml里面的配置时,我们看到了一个东西:

${os.detected.classifier}

它是根据检测到的系统版本来决定需要使用的classifier,当我们在64位系统,使用32位的IDEA的时候,这个变量就杯具了。只要换成64位的IDEA就OK了。

当然,需要注意一点,64位的IDEA使用的内存也会稍微多一点,建议修改一下启动的JVM的 相关配置参数。