编译Netty源码遇到的一些问题-缺少io.netty.util.collection包

匿名 (未验证) 提交于 2019-12-03 00:15:02

缺少包和java类

下载好Netty的源码后,导入到IDE,运行自带的example时编译不通过。

如下图,是因为io.netty.util.collection的包没有

点进去看,确实没有这个包

发现猫腻

发现这个common包下有一个templates包,放的应该是模板。还有一个script包,放的应该是脚本。

知道了这个原理,那怎么运行这个脚本的呢?

我们看他是groovy结尾的,应该是需要groovy的一个插件,pom文件里也确实有这个插件

怎么用这个插件运行脚本呢?

选中这个common项目右键选择Run Maven - compile

运行失败

不好意思,报了一堆错,错误信息缺失一片空白

打开对应的java文件,也是没有任何错误提示的,难搞。。。

解决运行失败

别急,慢慢看。把错误拉到最后看

粘出来错误信息:

E:\idea_work\netty-4.1\common\src\main\resources\META-INF\native-image\io.netty\common\native-image.properties:0: invalid newline character (expected: CRLF) [Newline]
E:\idea_work\netty-4.1\common\src\main\resources\META-INF\native-image\io.netty\common\native-image.properties:1: 文件未以空行结尾。 [NewlineAtEndOfFile]

说这个文件以空行结尾。纳尼。。。

打开这个文件看看,确实如此。那我们把这个空行删了。再试试吧。

很遗憾,还是这个错哈哈哈。。。

最终解决办法

不过,还有解决办法。

百度了一下,可以跳过这个样式检查,解决办法来自于这里

1、在编译的时候加一个参数:-Dcheckstyle.skip=true。

2、或者是在pom中加<skip>true</sikp>,如

<project>   ...   <build>     ...     <plugins>       ...       <plugin>         <artifactId>maven-checkstyle-plugin</artifactId>         <configuration>            <skip>true</skip>         </configuration>       </plugin>       ...     </plugins>     ...   </build>   ... </project>

再次编译

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!