出于一致性原因,我想在我们项目的Java源代码中强制执行Unix样式的行尾(\ n)。由于我们中的许多人都在Windows下工作,因此大多数IDE默认配置为使用Windows样式的行尾(\ r \ n)。我们每次配置新工作区时都会尝试更改这些设置,但由于某些原因,某些文件会在Windows末尾提交。
是否有任何Maven配置或插件可以帮助我们强制执行Unix样式的行尾,或者至少警告我们Windows风格的文件?
我首先考虑的是PMD或Checkstyle,但看起来并不那么简单。我也检查了Maven Enforcer插件,但我不认为它是开箱即用的。我应该能够创建自己的规则,但我想确保我不重新发明轮子:)
答案 0 :(得分:5)
使用Checkstyle,我们在项目中成功使用它来强制执行Unix行结束。
您可以使用正则表达式执行此操作(窗口行结尾为\ r \ n,但您可能知道这一点。)
答案 1 :(得分:3)
我们使用以下Checkstyle配置来强制执行UNIX行结尾:
<module name="RegexpMultiline">
<property name="format" value="\r\n"/>
<property name="maximum" value="0"/>
<property name="message" value="Do not use Windows line endings"/>
</module>
答案 2 :(得分:2)
我不知道如何检查新行字符,但我知道如何自动修复它(我相信这更好。)
ANT有这样的任务,maven可以运行ant任务。请查看here了解详情