Netty源码编译导入Eclipse

本文详细介绍了如何在Windows环境下编译Netty源码并将其导入Eclipse。首先确保拥有Maven、Git、JDK和Eclipse等必备工具。从GitHub上克隆Netty源码,然后在命令行中执行编译命令。在编译过程中可能遇到的两个问题:1) tcnative依赖问题,需要修改pom.xml注释相关配置;2) Maven插件执行配置问题,需在相应pom.xml中添加<pluginManagement>标签。完成这些步骤后,通过Eclipse的Maven项目导入功能导入编译后的Netty项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、环境要求

Maven、Git、JDK、Eclipse

2、从Netty的Git库拉取源码到本地,https://github.com/netty/netty

3、打开windows的命令提示符进入源码文件夹下通过 mvn clean compile -Dcheckstyle.skip=true -Dtest 命令进行编译

4、问题解决

1)Failure to transfer io.netty:netty-tcnative:jar:${tcnative.classifier}:2.0.3.Final 

根据操作系统探测tcnative的classifier,我们需要进入netty-parent的pom.xml将下面这行注释掉

<!-- <tcnative.classifier>${os.detected.classifier}</tcnative.classifier> -->

并且在其他子模块的pom.xml中查找如下代码注释掉

<!-- <classifier>${tcnative.classifier}</classifier> -->

在同一个dependency中如果不存在下面代码的请加上,存在部分子模块有而部分没有的情况

<version>${tcnative.version}</version>

2)Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build-helper-maven-plugin:1.10:add-          source (execution: add-source, phase: generate-sources) 

该问题我们需要在报错的子模块的pom.xml中的插件组标签<plugins></plugins>外层加上一组<pluginManagement></pluginManagement>标签,如下所示

添加前: 

<plugins>
      <plugin>
       .......
      </plugin>
</plugins>

添加后: 

  <pluginManagement>
    <plugins>
      <plugin>
       ......
      </plugin>
    </plugins>
  </pluginManagement>

对于netty-parent的pom.xml需要通过同样的办法处理,但我在处理的时候发现在这里包含两个<plugins>,第二个的外层已经存在<pluginManagement>标签,而第一个没有,这时如果在第一个外层加上<pluginManagement>会报错,最后的处理办法是将两个<plugins>合并成一个,然后再外层添加<pluginManagement>即可。

5、编译完成之后通过Eclipse导入Maven项目的方式导入。

参考文章:https://donald-draper.iteye.com/blog/2382829

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值