netty研究【1】:编译源代码

netty作为异步通信底层框架,其优异的性能让我产生了研究他的源码的决定。

代码研究之前,第一步就是要准备环境,至少可以编译通过,下面,就拿github上的4.1分支进行。我的IDE是Intellij IDEA 2016 community版本, 操作系统是Windows 7。

一开始,就踩雷了,起初,我的源码是在Github上,通过zip的方式获取4.0分支的代码,编译的时候,总是报错。各种line endings的错误,日志如下:

 "C:\Program Files\Java\jdk1.7.0_45\bin\java" -Dmaven.multiModuleProjectDirectory=D:\Knowledge\SOURCE\netty\netty-4.0\common -Dmaven.home=E:\Software\apache-maven-3.3. -Dclassworlds.conf=E:\Software\apache-maven-3.3.\bin\m2.conf -Didea.launcher.port= "-Didea.launcher.bin.path=D:\SelfInstalled\intelliJ\IntelliJ IDEA Community Edition 2016.2.5\bin" -Dfile.encoding=UTF- -classpath "E:\Software\apache-maven-3.3.9\boot\plexus-classworlds-2.5.2.jar;D:\SelfInstalled\intelliJ\IntelliJ IDEA Community Edition 2016.2.5\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=2016.2. --update-snapshots -s D:\MyDocuments\chengsh05\.m2\settings.xml -Dmaven.repo.local=D:\MyDocuments\chengsh05\.m2\repository package -P coverage
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] ------------------------------------------------------------------------
[INFO] os.detected.name: windows
[INFO] os.detected.arch: x86_64
[INFO] os.detected.version: 6.1
[INFO] os.detected.version.major:
[INFO] os.detected.version.minor:
[INFO] os.detected.classifier: windows-x86_64
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Netty/Common 4.0..Final-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-maven) @ netty-common ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-tools) @ netty-common ---
[INFO]
[INFO] --- maven-checkstyle-plugin:2.12.:check (check-style) @ netty-common ---
[INFO] Starting audit...
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\AbstractReferenceCounted.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\AbstractReferenceCounted.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Attribute.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Attribute.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\AttributeKey.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\AttributeKey.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\AttributeMap.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\AttributeMap.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\CharsetUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\CharsetUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\collection\IntObjectHashMap.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\collection\IntObjectHashMap.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\collection\IntObjectMap.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\collection\IntObjectMap.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\collection\package-info.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\collection\package-info.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\AbstractEventExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\AbstractEventExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\AbstractEventExecutorGroup.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\AbstractEventExecutorGroup.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\AbstractFuture.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\AbstractFuture.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\AbstractScheduledEventExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\AbstractScheduledEventExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\BlockingOperationException.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\BlockingOperationException.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\CompleteFuture.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\CompleteFuture.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultEventExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultEventExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultEventExecutorGroup.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultEventExecutorGroup.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultFutureListeners.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultFutureListeners.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultProgressivePromise.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultProgressivePromise.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultPromise.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultPromise.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultThreadFactory.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\DefaultThreadFactory.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\EventExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\EventExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\EventExecutorGroup.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\EventExecutorGroup.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\FailedFuture.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\FailedFuture.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\FastThreadLocal.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\FastThreadLocal.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\FastThreadLocalThread.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\FastThreadLocalThread.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\Future.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\Future.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\FutureListener.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\FutureListener.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\GenericFutureListener.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\GenericFutureListener.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\GenericProgressiveFutureListener.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\GenericProgressiveFutureListener.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\GlobalEventExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\GlobalEventExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ImmediateEventExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ImmediateEventExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ImmediateExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ImmediateExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\MultithreadEventExecutorGroup.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\MultithreadEventExecutorGroup.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\OrderedEventExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\OrderedEventExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\package-info.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\package-info.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ProgressiveFuture.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ProgressiveFuture.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ProgressivePromise.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ProgressivePromise.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\Promise.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\Promise.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\PromiseAggregator.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\PromiseAggregator.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\PromiseCombiner.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\PromiseCombiner.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\PromiseNotifier.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\PromiseNotifier.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\PromiseTask.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\PromiseTask.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\RejectedExecutionHandler.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\RejectedExecutionHandler.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\RejectedExecutionHandlers.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\RejectedExecutionHandlers.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ScheduledFuture.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ScheduledFuture.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ScheduledFutureTask.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ScheduledFutureTask.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\SingleThreadEventExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\SingleThreadEventExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\SucceededFuture.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\SucceededFuture.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ThreadProperties.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\ThreadProperties.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\UnaryPromiseNotifier.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\UnaryPromiseNotifier.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\UnorderedThreadPoolEventExecutor.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\concurrent\UnorderedThreadPoolEventExecutor.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\DefaultAttributeMap.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\DefaultAttributeMap.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\DomainMappingBuilder.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\DomainMappingBuilder.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\DomainNameMapping.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\DomainNameMapping.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\DomainNameMappingBuilder.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\DomainNameMappingBuilder.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\HashedWheelTimer.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\HashedWheelTimer.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\IllegalReferenceCountException.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\IllegalReferenceCountException.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\AppendableCharSequence.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\AppendableCharSequence.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\Cleaner0.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\Cleaner0.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ConcurrentSet.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ConcurrentSet.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\EmptyArrays.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\EmptyArrays.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\IntegerHolder.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\IntegerHolder.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\InternalThreadLocalMap.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\InternalThreadLocalMap.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\JavassistTypeParameterMatcherGenerator.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\JavassistTypeParameterMatcherGenerator.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\AbstractInternalLogger.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\AbstractInternalLogger.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\CommonsLogger.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\CommonsLogger.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\CommonsLoggerFactory.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\CommonsLoggerFactory.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\FormattingTuple.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\FormattingTuple.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\InternalLogger.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\InternalLogger.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\InternalLoggerFactory.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\InternalLoggerFactory.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\InternalLogLevel.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\InternalLogLevel.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\JdkLogger.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\JdkLogger.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\JdkLoggerFactory.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\JdkLoggerFactory.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Log4J2Logger.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Log4J2Logger.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Log4J2LoggerFactory.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Log4J2LoggerFactory.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Log4JLogger.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Log4JLogger.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Log4JLoggerFactory.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Log4JLoggerFactory.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\MessageFormatter.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\MessageFormatter.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\package-info.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\package-info.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Slf4JLogger.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Slf4JLogger.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Slf4JLoggerFactory.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\logging\Slf4JLoggerFactory.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\LongCounter.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\LongCounter.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\MathUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\MathUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\NativeLibraryLoader.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\NativeLibraryLoader.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\NativeLibraryUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\NativeLibraryUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\NoOpTypeParameterMatcher.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\NoOpTypeParameterMatcher.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ObjectUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ObjectUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\OutOfDirectMemoryError.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\OutOfDirectMemoryError.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\package-info.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\package-info.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\PendingWrite.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\PendingWrite.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\PlatformDependent.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\PlatformDependent.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\PlatformDependent0.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\PlatformDependent0.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\PromiseNotificationUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\PromiseNotificationUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ReadOnlyIterator.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ReadOnlyIterator.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\RecyclableArrayList.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\RecyclableArrayList.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\StringUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\StringUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\SystemPropertyUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\SystemPropertyUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ThreadLocalRandom.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ThreadLocalRandom.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ThrowableUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\ThrowableUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\TypeParameterMatcher.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\TypeParameterMatcher.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnpaddedInternalThreadLocalMap.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnpaddedInternalThreadLocalMap.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnsafeAtomicIntegerFieldUpdater.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnsafeAtomicIntegerFieldUpdater.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnsafeAtomicLongFieldUpdater.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnsafeAtomicLongFieldUpdater.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnsafeAtomicReferenceFieldUpdater.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnsafeAtomicReferenceFieldUpdater.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnstableApi.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\internal\UnstableApi.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\IntSupplier.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\IntSupplier.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Mapping.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Mapping.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\NetUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\NetUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\package-info.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\package-info.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Recycler.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Recycler.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ReferenceCounted.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ReferenceCounted.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ReferenceCountUtil.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ReferenceCountUtil.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeak.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeak.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakDetector.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakDetector.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakDetectorFactory.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakDetectorFactory.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakException.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakException.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakHint.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakHint.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakTracker.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ResourceLeakTracker.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Signal.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Signal.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ThreadDeathWatcher.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\ThreadDeathWatcher.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Timeout.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Timeout.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Timer.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\Timer.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\TimerTask.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\TimerTask.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\UniqueName.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\main\java\io\netty\util\UniqueName.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\AbstractReferenceCountedTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\AbstractReferenceCountedTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\AttributeKeyTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\AttributeKeyTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\collection\IntObjectHashMapTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\collection\IntObjectHashMapTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\DefaultPromiseTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\DefaultPromiseTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\DefaultThreadFactoryTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\DefaultThreadFactoryTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\FastThreadLocalTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\FastThreadLocalTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\GlobalEventExecutorTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\GlobalEventExecutorTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\PromiseAggregatorTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\PromiseAggregatorTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\PromiseCombinerTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\PromiseCombinerTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\PromiseNotifierTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\PromiseNotifierTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\SingleThreadEventExecutorTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\concurrent\SingleThreadEventExecutorTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\DefaultAttributeMapTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\DefaultAttributeMapTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\DomainNameMappingTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\DomainNameMappingTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\HashedWheelTimerTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\HashedWheelTimerTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\AppendableCharSequenceTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\AppendableCharSequenceTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\CommonsLoggerFactoryTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\CommonsLoggerFactoryTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\CommonsLoggerTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\CommonsLoggerTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\InternalLoggerFactoryTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\InternalLoggerFactoryTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\JdkLoggerFactoryTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\JdkLoggerFactoryTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Log4J2LoggerFactoryTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Log4J2LoggerFactoryTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Log4J2LoggerTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Log4J2LoggerTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Log4JLoggerFactoryTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Log4JLoggerFactoryTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Slf4JLoggerFactoryTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Slf4JLoggerFactoryTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Slf4JLoggerTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\logging\Slf4JLoggerTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\PlatformDependentTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\PlatformDependentTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\StringUtilTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\StringUtilTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\ThreadLocalRandomTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\ThreadLocalRandomTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\TypeParameterMatcherTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\internal\TypeParameterMatcherTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\NetUtilTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\NetUtilTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\RecyclerTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\RecyclerTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\ResourceLeakDetectorTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\ResourceLeakDetectorTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\ThreadDeathWatcherTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\ThreadDeathWatcherTest.java:: invalid newline character (expected: CRLF)
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\UniqueNameTest.java:: File does not end with a newline.
D:\Knowledge\SOURCE\netty\netty-4.0\common\src\test\java\io\netty\util\UniqueNameTest.java:: invalid newline character (expected: CRLF)
Audit done. [INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.214 s
[INFO] Finished at: --15T14::+:
[INFO] Final Memory: 29M/617M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.12.:check (check-style) on project netty-common: Failed during checkstyle execution: There are checkstyle errors. -> [Help ]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help ] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException Process finished with exit code

后来在各种搜索中找解决方案,百度中很多地方的帖子都说是maven的plugin配置的问题,后来我依着提示修改,然并卵。 最后在*上找到一个帖子的建议链接,链接如下:https://help.github.com/articles/dealing-with-line-endings/#platform-windows

里面说的很清楚:

When you view changes in a file, Git handles line endings in its own way. Since you're collaborating on projects with Git and GitHub, Git might produce unexpected results if, for example, you're working on a Windows machine, and your collaborator has made a change in OS X.

不同的人在不同系统上提交的代码,对文件行的处理方式不一样,比如换行,windows下是/r/n,但是linux下换行是/n。

解决方案,我采用的是他的第一个解决方案:

Global settings for line endings

The git config core.autocrlf command is used to change how Git handles line endings. It takes a single argument.

On Windows, you simply pass true to the configuration. For example:

git config --global core.autocrlf true
# Configure Git on Windows to properly handle line endings

执行后,在window下,CMD里面执行git clone取代码4.1的代码。习惯了linux下的操作,用git@github.com:netty/netty.git,结果出错,因为我windows上没有ssh的key。。。改用https的地址clone就可以了,如下图:

netty研究【1】:编译源代码

代码获取了,此时的代码,应该不会再有line endings的错误了吧,继续在IJ里面编译试试:

netty研究【1】:编译源代码

这次编译,终于可以了,没有什么问题。

这次git的这个问题,让我还折腾了不少时间,因为Intellij报的错误的确是说checkStyle的问题,找plugin的问题,没有想到是github上的代码因为git处理core.autocrlf的策略问题,默认git中的配置,这个参数是false,改成true后,git取源码再编译,就ok了。

上面的处理,是编译其中一个模块,netty-common,现在,我们要编译整个工程,就是netty的根工程,让所有的模块都编译通过。

这里,说说Intellij中如何用maven编译代码,如我上面的截图中出现右边的Maven projects这个框,若不是很熟悉Intellij的伙伴,比如老是用Eclipse的人,可能真不知道如何打开这个窗口。其实很简单:

在菜单栏中: view->Tool windows->Maven Projects

netty研究【1】:编译源代码

另外,在这Maven Projects的操作面板上,有几个小button,我喜欢在Install或者Package的时候,不要test这个lifecycle,点击一下skip test即可。

netty研究【1】:编译源代码

是不是test上有一个删除线了。。。。

下面看看整个工程的编译安装,即mvn install的操作。

netty研究【1】:编译源代码

一切都ok了,install的操作完美收官!

若是想在windows下通过Intellij IDEA对netty的源码进行编译的话,本帖子可以给你提供一点借鉴,欢迎转帖。转帖请指明出处。

上一篇:OpenSSL 与 SSL 数字证书概念贴


下一篇:MongoDB Error