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


    缺少包和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 etty-4.1commonsrcmain esourcesMETA-INF ative-imageio.nettycommon ative-image.properties:0: invalid newline character (expected: CRLF) [Newline]
    E:idea_work etty-4.1commonsrcmain esourcesMETA-INF ative-imageio.nettycommon ative-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下生成了对应的文件。

  • 相关阅读:
    D3D中的粒子系统(1)
    半角/全角的转换算法
    对Native API NtSystemDebugControl的分析
    教你快速下载fs2you.com网盘的文件
    养眼的编辑器配色
    Direct3D中的绘制(2)
    在服务里面弹出一个窗口到用户的桌面上[转]
    驱动级隐藏文件,注册表,进程
    GB2312转unicode程序
    Direct3D中的绘制(5)
  • 原文地址:https://www.cnblogs.com/ibigboy/p/11777066.html
Copyright © 2020-2023  润新知