当我尝试在我的项目中使用mvn clean install时,我遇到了这些错误:
[ERROR] C:\Users\lob\Downloads\zanata-platform-platform-4.0.0\zanata-platform-platform-4.0.0\parent\eclipse-code-formatter-js.xml:0: File does not end with a newline. [NewlineAtEndOfFile]
[ERROR] C:\Users\lob\Downloads\zanata-platform-platform-4.0.0\zanata-platform-platform-4.0.0\parent\eclipse-code-formatter.xml:0: File does not end with a newline. [NewlineAtEndOfFile]
[ERROR] C:\Users\lob\Downloads\zanata-platform-platform-4.0.0\zanata-platform-platform-4.0.0\parent\pom.xml:0: File does not end with a newline. [NewlineAtEndOfFile]
[ERROR] C:\Users\lob\Downloads\zanata-platform-platform-4.0.0\zanata-platform-platform-4.0.0\parent\README.txt:0: File does not end with a newline. [NewlineAtEndOfFile]
Audit done.
[INFO] There are 4 errors reported by Checkstyle 7.2 with zanata-build-tools/checkstyle.xml ruleset.
[ERROR] eclipse-code-formatter-js.xml:[0] (misc) NewlineAtEndOfFile: File does not end with a newline.
[ERROR] eclipse-code-formatter.xml:[0] (misc) NewlineAtEndOfFile: File does not end with a newline.
[ERROR] pom.xml:[0] (misc) NewlineAtEndOfFile: File does not end with a newline.
[ERROR] README.txt:[0] (misc) NewlineAtEndOfFile: File does not end with a newline.
将段落或\ n放在这些文件的末尾并不能解决此问题。
在Window >> Preferences >> Checkstyle >> Select the configuration file >>
下的Eclipse中,未列出这些文件。
使用:
答案 0 :(得分:1)
原因是名为NewlineAtEndOfFile
的检查样式规则,如果项目的任何文件在其末尾没有新行,则会阻止成功构建。
规则说:
基本原理:任何源文件和文本文件一般都应该以 一个行分隔符,让其他人轻松添加新内容 file和“diff”命令不会将前一行显示为已更改。
那么必须做的只是在上述日志中提到的每个文件的末尾添加一个新行:
。蚀码格式器-js.xml
。蚀 - 编码 - formatter.xml
。的pom.xml
。的README.txt
有关此规则的更多信息:checkstyle-NewlineAtEndOfFile-rule
答案 1 :(得分:0)
tl; dr:
git config core.autocrlf true
.git
以外的所有文件和文件夹git reset --hard HEAD
细节和根本原因:
Git行结束配置
Windows上的Git配置是此错误的根本原因。 zanata-platform-platform
,以Unix样式行结尾构建。在Windows中,maven会将以LF
结尾的Unix样式行误解为以CRLF
结尾的不正确的Windows行。
第一步是重新配置Windows上安装的git,以便在git生成将LF
替换为CRLF
的文件时。在Windows上,您使用CRLF
编辑文件,但是此配置告诉git在提交或推送时将CRLF
转换为LF
。
删除所有文件,同时保留包含历史记录的.git
目录
让git重新生成Windows样式行结尾的文件。