我有一个包含数千个编译警告的大型Java项目。我想找到一种方法来阻止开发人员提交带有警告的文件,因此逐渐所有警告都会消失。如果我提交带有编译错误的文件Eclipse会显示错误消息,但我无法找到任何方法来执行相同的警告。我发现最接近的是提交警告检查器http://commitwarncheck.sourceforge.net/,但它并没有真正集成到提交过程中,它只提供了一个视图。有没有更好的解决方案?
答案 0 :(得分:6)
我看到2个选项。首先,至少使用Subclipse,Eclipse有一个偏好:Window / Preferences / Team / SVN /“使用警告提交资源”。还有一个“错误”。两者都可以设置为“是”,“否”或“提示”。但是,这将要求您确保整个团队按照您的预期设置这些选项 - 并确保他们将所有其他Eclipse首选项设置为生成相同的错误/警告。
使用Subclipse 1.6.18:
另一个选择是使用SVN commit hooks,基本上是持续集成(CI)过程的开始。你实际上可以检查一组有限的东西,并在那时允许/拒绝提交,但我开始担心提交性能。一个更好的选择可能是一个真正的CI流程,它运行一个构建(计划的,或者甚至可能是每个提交) - 如果检测到问题,则发送电子邮件或以其他方式警告开发人员。
后面这个选项的复杂性是以脚本方式重复Eclipse构建 - 包括检测所有Eclipse配置的错误和警告。 (如果有人发现这样做的好方法,请告诉我!Eclipse为使用其代码格式化程序提供了一个可编写脚本的选项,但我没有看到使用Eclipse提供的检查检查错误/警告的类似选项。)
否则,您可能最好开始迁移到Checkstyle和FindBugs等工具,这些工具在Eclipse内外都能很好地工作。 (但是,回到上面我自己的兴趣,我没有发现任何一些工具的组合 - 包括这些 - 至少可以匹配Eclipse提供的相同检查。)将它与Maven / {{结合起来3}},提供可以由Eclipse和CI系统共享的公共构建配置/过程,并且您应该处于良好状态。