idea搭建netty源码环境

3,537 阅读1分钟

一. 首先从github中拉取netty源码 源码地址:netty源码github地址 github.com/netty/netty

二. 将代码导入idea

  • 将源码导入idea有两种方式:
  • 直接下载源码zip包解压导入idea 通过git直接从github中拉取代码至idea
    这块特别需要注意: 1.jar包没法下载问题 首先,idea中其他项目可以可以正常现在jar,排除私服问题;所以定位为Maven的问题,但是其他项目可以用,但是我的maven版本太低了3.0.4,尝试提升maven版本->3.6.2,这时已经可以下载jar了,发现还是有问题. 右下角的Evnet Log,报的错误:Unable to import maven project: See logs for details 于是我就按照提示打开了日志,Help>>show Log in Explorer
java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector, see the following errors:

1) No implementation for org.apache.maven.model.path.PathTranslator was bound.
  while locating org.apache.maven.model.path.PathTranslator
    for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.pathTranslator(Unknown Source)
  at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)

2) No implementation for org.apache.maven.model.path.UrlNormalizer was bound.
  while locating org.apache.maven.model.path.UrlNormalizer
    for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.urlNormalizer(Unknown Source)
  at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)

2 errors
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:543)
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:159)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
	at com.google.inject.Guice.createInjector(Guice.java:87)
…………………………

原来是maven3.6.2版本兼容问题 解决方法:重新下载较低版本Maven3.6.1及以下版本,换成了3.6.0顺利解决。 2.运行example中的实例时发现codec-redis模块出现如下代码报错

解决办法:编译common 3.编译common时会发现maven插件出现如下错误

代码检查插件检查代码后发现校验不通过导致的,直接在parent的pom文件中注释该插件即可

接下来再次编译common模块模块即可消除该错误了