zoukankan      html  css  js  c++  java
  • 编译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下生成了对应的文件。

  • 相关阅读:
    day3---字符串的索引与切片
    day4---int bool str之间相互转换
    day3---数据类型整体分析
    day2---while else
    day2---运算符
    day2---格式化输出
    ES6-04 Promise设计 类 模块
    jquery02-效果动画
    jquery01-基础使用
    bootstrap-03 常用重要组件(2)
  • 原文地址:https://www.cnblogs.com/ibigboy/p/11777066.html
Copyright © 2011-2022 走看看