缺少包和java类

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

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

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

发现猫腻

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

看一下这个脚本,应该是替换掉下面模板文件名的K字母,替换成Byte、Char等单词,生成如ByteObjectHashMap、CharObjectHashMap。。。的类

如何运行脚本生成java类

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

我们看他是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>

再次编译

编译成功

果然好了。在target下生成了对应的文件。

编译Netty源码遇到的一些问题-缺少io.netty.util.collection包的更多相关文章

  1. Netty 源码 Channel(二)主要类

    Netty 源码 Channel(二)主要类 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) 一.Channel 类图 二. ...

  2. Netty 源码 Channel(一)概述

    Netty 源码 Channel(一)概述 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) Channel 为 Netty ...

  3. Netty 源码 NioEventLoop(三)执行流程

    Netty 源码 NioEventLoop(三)执行流程 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) 上文提到在启动 N ...

  4. Netty 源码(二)NioEventLoop 之 Channel 注册

    Netty 源码(二)NioEventLoop 之 Channel 注册 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) 一 ...

  5. Netty 源码 NioEventLoop(一)初始化

    Netty 源码 NioEventLoop(一)初始化 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) Netty 基于事件 ...

  6. idea 编译 netty 源码

    git clone netty 源码,运行 example 报错 全量 mvn compile -DskipTests=true 后,依然报错 手动在 netty-buffer 模块中添加对应的依赖 ...

  7. Netty 源码解析(四): Netty 的 ChannelPipeline

    今天是猿灯塔“365篇原创计划”第四篇. 接下来的时间灯塔君持续更新Netty系列一共九篇 Netty 源码解析(一): 开始 Netty 源码解析(二): Netty 的 Channel Netty ...

  8. 脚踏实地的Netty源码研究笔记——开篇

    1. 脚踏实地的Netty源码研究笔记--开篇 1.1. Netty介绍 Netty是一个老牌的高性能网络框架.在众多开源框架中都有它的身影,比如:grpc.dubbo.seata等. 里面有着非常多 ...

  9. Windows编译Nginx源码

    Windows下的Nginx战役,人不作就不会死!就像是拿着麦当劳的优惠券去买肯德基一样,别扭啊 Nginx是一款轻量级的Web 服务器.反向代理服务器.邮件服务器等等集一大串荣誉于一身的大牌人物!他 ...

随机推荐

  1. css隐藏页面元素的多种方法

    在平常的样式排版中,我们经常遇到将某个模块隐藏,下面我整理了一下隐藏元素的多种方法以及对比(有的占据空间,有的不占据空间.有的可以点击,有的不能点击.): ( 一 )  display:  none; ...

  2. DNS服务正向解析实验

    DNS域名解析服务是用于解析域名与ip地址对应关系的服务,功能上可以实现正向解析和反向解析 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据IP地址查找对应的主机名(域名). 下面我来 ...

  3. 链式栈-C语言实现

    相对于顺序栈的空间有限,链式栈的操作则更加灵活 #include<stdio.h> #include<malloc.h> typedef int SElemType; //元素 ...

  4. 配置aria2

    Mac 用户肯定都受够了百度网盘在自己电脑上的糟糕体验,至少我是如此:安装官方的 App,经常下载时中断,有时甚至 Bug 般连续中断,无奈使用浏览器下载,速度却是令人挠头.花点时间来配置 aria2 ...

  5. python让你再也不为文章配图与素材发愁,让高清图片占满你的硬盘! #华为云·寻找黑马程序员#

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  6. JQuery基础之获取和设置标签内容

    JQuery基础之获取和设置标签内容方法,如下图: 代码实现: <script src="JS/jquery-1.12.4.min.js"></script> ...

  7. 创建raid10(五块磁盘)

    创建raid10(五块磁盘) Raid10(5块磁盘) 上一个bolg已经做了raid5(3 个raid. 2个备份),在此条件下继续以下步骤: 1.先将磁盘系统卸载  2.看系统挂载里是否还有md0 ...

  8. shell 解析 json

    如果 想利用 shell 从 json 数据 中 解析出某个字段, 可以 利用 正则匹配, 比如 想 解析出 "spanId":"8461203268866670975& ...

  9. JVM内运行时数据区

    JVM的基本区域: 类加载子系统 运行时数据区(内存区域) 执行引擎 运行时数据区域 方法区(Method Area) 类的所有字和方法字节码,以及一些特殊方法如构造函数,接口代码也在这里定义.简单来 ...

  10. 从零开始的openGL——四、纹理贴图与n次B样条曲线

    前言 在上篇文章中,介绍了如何加载绘制模型以及鼠标交互的实现,并且遗留了个问题,就是没有模型表面没有纹理,看起来很丑.这篇文章将介绍如何贴纹理,以及曲线的绘制. 纹理贴图 纹理加载 既然是贴图,那首先 ...