为什么eclipse会创建一个.settings目录?

时间:2009-10-11 15:54:20

标签: java eclipse

我注意到eclipse最近创建了一个内置1个文件的.settings目录,我想知道是否应该将其添加到版本控制中? SVN?

另外,这是新的吗?我一直在使用eclipse,但从未注意到它。

目录中文件的内容是:

#Sun Oct 11 14:57:03 CEST 2009
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6

这些设置不应该是工作区范围而不是项目特定的吗?

3 个答案:

答案 0 :(得分:28)

此文件记录项目特定设置与工作区首选项。

我注意到,当您将常规Java项目转换为Java EE项目时,通常会创建此文件。

我唯一一次检查此文件的时间是项目的编译器/警告设置与默认工作区设置不同。

当某些遗留项目无法使用最新最好的java编译器进行编译,或者第三方生成的源代码产生大量良性警告而污染您的Problems视图时,可能就是这种情况

如果您要使用项目特定设置,请务必检查此文件。否则请将其删除。

答案 1 :(得分:14)

各种插件使用.settings文件夹设置持久性“属性”而不是“首选项”,以指定应保留的项目特定设置。

这通常是您最希望签入svn / cvs / git等的目录,因为它将确保所有检查该项目进入eclipse的用户使用正确的项目特定设置。

在我们的例子中,我们使用它来提供5的最小编译器版本,因为一些开发人员在Java 5而不是6等,但我们希望为我们的服务器编译为5。我们还使用它来强制执行一些编码标准和自动格式化程序,这使得版本差异更容易阅读。

在您的特定情况下,右键单击项目并选择属性,选择“属性 - > Java编译器”下的“启用项目特定设置”。

答案 2 :(得分:3)

这些是eclipse的项目特定设置。你不需要在svn中包含它们,因为每个用户eclipse都会在签出项目时创建它们,或者它们甚至可能使用另一个IDE而不需要它们。如果你是唯一一个使用该项目的人,那么你是否包含它们并不重要。